2014-10-16 98 views
0

我有一個使用jquery的HTML。讓我們說在我給他們打電話。組織JQuery和其他插件的正確方法是什麼?

<head> 
<script type="text/javascript" src="jquery.min.js"></script> 
<script type="text/javascript" src="jquery.jshowoff.min_130315_page.js"></script> 
</head> 
<body> 
    <script> </script> <!-- jquery.jshowoff plugin will be used below! --> 
    <div> </div> 
    <div> </div> 

    <!-- And an ads extension adds a link to jquery again. --> 
    <script type="text/javascript" src="jquery.min.js"></script> 

    <!-- scripts below will jquery.min.js --> 


</body> 

我的問題是。這會產生什麼影響?

  1. 將再次調用jquery禁用插件(jquery.jshowoff)?
  2. 瀏覽器只能讀取jquery.min而不能讀取插件嗎?

我希望這是清楚的,如果是這樣,我可以更加清楚。 謝謝。

+3

你不需要包含jQuery兩次。 – 2014-10-16 13:53:56

+0

@詹姆斯是的,我知道這不是必要的。但是我想知道它是否真的影響了jquery.showoff插件。通過測試它可以,但是解釋是什麼? – 2014-10-16 13:58:36

+1

正如原始問題所述:_ <! - 並且一個廣告擴展再次向jquery添加一個鏈接。 - > _在這種情況下沒有達到OP。 – 2014-10-16 13:59:07

回答

2

據我所知,第二個jQuery腳本將覆蓋第一個,並且那裏也加載了插件。如果將插件腳本標記移動到廣告部分下方並刪除第一個jQuery標記,那麼該怎麼辦?那麼只要確保你的代碼等待jQuery ready事件?

+0

謝謝。我真的需要澄清,所以我可以向其他人解釋。乾杯。 – 2014-10-16 14:06:29

1

某些情況下的效果取決於腳本。在大多數情況下,僅僅導入一個庫兩次不會導致任何問題,但這是浪費。在其他情況下,如果腳本正在進行一些設置,那麼導入它兩次會產生以下效果,腳本的第二個實例將不執行第一個實例的所有工作。

在你的情況下,我想你無法控制'廣告延伸',所以你可能必須控制腳本的順序以防止衝突和矛盾的結果。

由於@Sanfor的狀態拉這兩個腳本將導致第二個覆蓋另一個。不要忘記JS腳本是按順序執行的。

您是否嘗試將腳本放在底部或至少低於「廣告附加信息」?

+1

上次我看了一下,第二個包括jQuery覆蓋了第一個全局變量(window.jQuery和window。$),導致所有已加載的插件未定義? – 2014-10-16 14:00:29

+0

是的,你是對的。這取決於腳本正在做什麼。這就是爲什麼我建議保持清潔。我會編輯我的答案以強調這一點。謝謝。 – 2014-10-16 14:02:40

+0

@sanfor我想我的猜測是對的。感謝您澄清,我目前無法控制廣告附加信息。最有可能的是,由於廣告總是處於最底層,所以我正在考慮在那裏添加插件。 – 2014-10-16 14:03:22

相關問題