我在我的網站上使用jQuery。但是,由於Chrome插件可能會在全局範圍($)中導入自己的jQuery版本,所以如何阻止他們的jQuery(來自客戶端瀏覽器上的插件)覆蓋我的jQuery(最初由網站加載的jQuery以及建立在其上的擴展功能)。jQuery被外部插件覆蓋
2
A
回答
0
使用jQuery jQuery.noConflict()
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
jQuery(document).ready(function($) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
</script>
+1
它是一個黑客的權利,以防止可能重寫jQuery的插件,我參考jQuery作爲jQuery或$以外的東西?但是,鑑於插件的數量,這不是一個強制標準嗎? –
0
使用以下。爲解決這些情況,我們提供了jQuery.noConflict()。
<script src="jquery.js"></script>
<script>
var $j = jQuery.noConflict();
// Code that uses other library's $ can follow here.
</script>
<script src="other_lib.js"></script>
<script>
$j(document).ready(function(){
//your code
})
</script>
然後使用你可以在你需要使用jQuery參考的地方使用$j
代替jQuery
或$
。如果頁面上需要多個jQuery版本,則可以使用相同的方法。只需使用不同的變量。
0
會建議尋找到jQuery.noConflict,你給$/jQuery的不同的參考 - https://api.jquery.com/jquery.noconflict/
var j = jQuery.noConflict();
j("div p").hide();
// Do something with another library's $()
$("content").style.display = "none";
相關問題
- 1. 內部JQuery document.ready覆蓋外部文件
- 2. 覆蓋scrollTo jQuery插件?
- 3. WordPress插件jQuery覆蓋礦
- 4. 覆蓋jQuery插件方法
- 5. jQuery的覆蓋插件
- 6. JQuery插件動畫覆蓋
- 7. jQuery插件覆蓋參數
- 8. jQuery .data()被覆蓋
- 9. 覆蓋外部CSS
- 10. 外部CSS覆蓋
- 11. 覆蓋外部CSS
- 12. jQuery插件被另一個jQuery實現覆蓋
- 13. blueimp jquery上傳部件被附加視圖部分覆蓋
- 14. 插件中的父變量被覆蓋
- 15. WRO-Maven插件 - CSS更改被覆蓋
- 16. 爲什麼頁面樣式被外部CSS文件覆蓋?
- 17. 文件被覆蓋
- 18. jQuery addClass沒有被覆蓋
- 19. Subversion svn:外部文件覆蓋?
- 20. jquery循環插件尋呼機被覆蓋
- 21. JQuery自建插件問題 - 默認值被覆蓋
- 22. Maven部署插件覆蓋錯誤?
- 23. jQuery插件不覆蓋默認值
- 24. jQuery插件不覆蓋默認選項
- 25. 無法覆蓋jquery插件的方法
- 26. jquery插件控制器覆蓋彼此
- 27. jQuery驗證插件:提示覆蓋
- 28. jQuery自動保存插件覆蓋url
- 29. 覆蓋jQuery插件中的函數
- 30. 如何覆蓋jquery插件的函數?
請參閱本[鏈接](https://api.jquery.com/jquery.noconflict/ ) – RRK
但是不是沒有衝突嗎?我可以使用noConflict來放棄使用$。這是Chrome插件可以繼續使用它。但是如果我有一個龐大的代碼庫,有很多對$的引用呢?它應該是鉻插件jquery應該放棄控制權? –
@Rahul,對。我會說,一個Chrome擴展會強制所有加載的頁面使用'$ .noConflict()',這是無法解決的。 –