2010-08-26 42 views
6

爲什麼這個片段:執行代碼<script>標籤內部與外部源

<script type="text/javascript"> 
alert("1111"); 
</script> 

<script type="text/javascript" src="xxx.js"> 
</script> 

結果在「1111」被警告,但是這一個:

<script type="text/javascript" src="xxx.js"> 

alert("111"); 
</script> 

不會引起「111 「提醒?是否可以將代碼放入加載外部腳本的相同<script>標記中?

+6

不計算 – kahoon 2010-08-26 21:19:58

+0

這不是從你的問題的方式,我們可以幫助的問題的性質明確。 – donohoe 2010-08-26 21:21:25

+0

嗨,我可以使用這句話的地方「你剛纔說的話......是我聽過的最瘋狂愚蠢的事情之一,在你漫不經心的,不連貫的反應中,你甚至無法接近任何可以被認爲是一種理性的思想,這個房間裏的每個人現在都沉浸在傾聽它,我沒有獎勵你的觀點,並且願上帝憐憫你的靈魂。「 – Robert 2010-08-26 21:23:07

回答

6

好吧,這就是<script>標籤的工作原理。如果您有src屬性,則標記的內容會被忽略。

只需使用另一個<script>標籤,那有什麼問題?

2

以下JavaScript是正確的:

<html> 
    <head> 
      <script type="text/javascript"> alert("1111"); </script> 
      <script type="text/javascript" src="xxx.js"> </script> 
    </head> 
    <body> 
      <p> The actual script is in an external script file called "xxx.js".</p> 
    </body> 
</html> 

如果你只想要一個腳本標籤,然後把

alert("1111"); 

的xxx.js文件裏。

當它被放置在腳本標記與src之間時,警報不起作用,因爲這是它打算工作的方式。當指定src時,它會忽略打開和關閉腳本標記之間的任何內容。

0

你的第二個例子是試圖從一個名爲xxx.js的外部文件中引用一個腳本,在這種情況下,它位於與html文件相同的文件夾中。如果您創建了該文件並將警報置於該文件中,並將腳本塊移動到頭標記中,那麼您會發現它會起作用。

在外部文件中放置JavaScript是一種鼓勵的做法,因爲它允許您在html中使用簡單的inlcude語句在許多頁面中重用常用函數。另外,它使你的html文件更清潔。

當你開始寫大量的JavaScript您可以將所有腳本合併成一個文件,然後使用類似JSMin再壓縮它:http://www.crockford.com/javascript/jsmin.html

這將壓縮所有的腳本到一個微小的形式,是人眼無法識別,但您的網站訪問者的速度會更快,因爲這意味着腳本文件更小,並且只有一個請求將文件提供給客戶端。

在附註中,編寫javascript時另一個有用的工具是JSLint

它分析您的JavaScript,並通知您的語法錯誤,也是不好的做法。

編碼快樂

保羅