2010-02-01 47 views
3

我不知道是否可以嵌入上面的html文件範圍的js和css文件:確定可以包含外部的css和js文件<html>?

<script type="text/javascript" src="../../media/js/jquery.js"></script> 
<script type="text/javascript" src="../../media/js/jquery-ui.js"></script> 
<link rel="stylesheet" type="text/css" media="all" href="../../media/css/cupertino/jquery-ui.css" /> 

<html> 
    <head> 
    </head> 
    <body> 
    <body> 
</html> 

這是因爲我希望把它們放在同一個PHP文件,其中包括我的所有文件(PHP,JS和CSS)。我試過這個,它似乎工作。 html文件的輸出將與上面的代碼一樣顯示,其中包含html標籤上方的行。

有沒有隱藏的缺點呢?

+2

你能詳細說明你需要這樣做的原因嗎?如何把它們放在同一個php文件中,迫使你把它們放在頂部? – 2010-02-01 01:25:13

+0

是的,在輸出之後,你絕對沒有理由不做你的包含*。 – bobince 2010-02-01 15:50:53

回答

10

即使它工作,你不應該這樣做。這種類型的內容很瑣碎,因此不能保證明天或未來的瀏覽器正常工作。如果你現在沒有感覺到這種方法的痛苦,你最終會。無論如何,你沒有理由這樣做。

+0

true.but然後,許多框架使用這種技術,並將它們保存在一個單獨的php文件中。 – pixeltocode 2010-02-01 11:37:04

+0

@pixeltocode:你可以做到這一點,仍然在適當的地方加載它們。 – Sampson 2010-02-01 12:51:43

5

將無效(X)HTML。

+0

但它是如何發揮它在Firefox上的作品? – ajsie 2010-02-01 01:16:07

+4

工作和驗證是不同的。 Google的網頁在所有瀏覽器中都可以使用,但是它們不會成功驗證。 – 2010-02-01 01:17:02

+0

瀏覽器已盡其所能地應對破損的HTML,因此Firefox正在盡其所能。它可能在開始時隱含,並丟棄下一個。 – JAL 2010-02-01 01:41:14

6

這不是有效的html。放置javascript的最佳位置應該在body關閉之前(除非需要加載腳本的內聯腳本)。這可以防止頁面加載時的阻塞。

+1

無論如何這不是有效的HTML,沒有DTD。 – bdl 2010-02-01 01:49:59

2

這將適用於大多數所有瀏覽器,但這並不是說它不是錯誤。它是錯誤

這不是有效的HTML,並會混淆幾乎每個人誰在你的代碼來了,雖然我不知道什麼是瀏覽器可能可能無法克服的固有不正當這個風格,我不作任何承諾,它將工作。從某種意義上說,它應該,但在另一個方面,它絕對不應該。

1

也許輸出緩衝將在這種情況下工作?緩衝「包含」文件的輸出,然後在聲明<html>之後獲取緩衝區的內容以便稍後輸出。事情大致是這樣的:

在你includes.php文件:

<?php 
ob_start(); 
// here is where you output your css and js declarations 
$includes = ob_get_clean(); 
?> 

這裏是你的主頁:

<html> 
<head> 
    <title>Hello</title> 
    <?php echo $includes ?> 
</head> 
<body> 
... 
相關問題