簡體   English   中英

在一個內部執行代碼<script> tag with an external source

[英]Executing code inside a <script> tag with an external source

為什么這個片段:

<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>標記中?

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

只需使用另一個<script>標簽,問題是什么?

以下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時,它忽略打開和關閉腳本標記之間的任何內容。

您的第二個示例是嘗試從名為xxx.js的外部文件引用腳本,在這種情況下,該文件位於與html文件相同的文件夾中。 如果您創建了該文件並將警報放入該文件並將腳本塊移動到head標記中,那么您會發現它可以正常工作。

將javascript放在外部文件中是一種鼓勵的做法,因為它允許您在html中使用簡單的inlcude語句重用許多頁面中的常用函數。 另外,它可以讓你的html文件更清晰。

當你開始編寫大量的javascript時,你可以將所有腳本合並到一個文件中,然后使用類似JSMin的東西縮小它: http ://www.crockford.com/javascript/jsmin.html

這會將您的所有腳本壓縮為一個人類無法讀取的小形式,但對於您的網站訪問者來說要快得多,因為這意味着腳本文件較小,並且只有一個請求將文件提供給客戶端。

另外,編寫javascript時另一個有用的工具是JSLint

它會解析您的javascript,並通知您語法錯誤和不良做法。

快樂的編碼

保羅

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM