2012-11-28 94 views
1

我正在使用Jquery加載另一個php文件,但是該php文件也有鏈接到它的jquery庫(google的CDN)。我相信這會導致衝突,因爲在Windows上jquery停止工作,並在mac谷歌的webfont不加載和jquery不加載。我通過簡單地從這些頁面中刪除jquery來解決這個問題。有沒有更好的方法來做到這一點?Jquery Ajax加載包含jquery庫的另一個頁面

回答

2

如果你正在加載整個頁面的其他(有自己的圖書館和資源鏈接),它可能是更好的將其加載到一個iframe,而不是試圖使用jQuery/Ajax來加載和渲染它一致。

2

如果您使用Jquery AJAX,那麼您只能在接收到的上下文中查找鏈接的加載另一個Jquery的標籤,然後將其刪除。

對於我的oppinion中的記錄,你應該製作你的項目的模塊,以便js部分在一個地方,php部分在另一個地方,分開。

0

聽起來像jQuery.noConflict是你的朋友。

http://api.jquery.com/jQuery.noConflict/

+0

但不會讓你沒有$函數(又名JQuery的簡寫)? – helly0d

+0

呵呵,我不理解你的問題。 – ilivewithian

+0

JQuery.noConflict被設計爲消除窗口。$ function,以便prototype.js或其他庫可以使用它。但加載兩次相同的JQuery沒有衝突設置和另一個關閉只是愚蠢的我認爲。 – helly0d

1
<script type="text/javascript" src="<?= COMMONSITE_HTTP_PATH ?>/scripts/jquery/1.7.2/jquery.min.js"></script> 
<script type="text/javascript"> 
/* <![CDATA[ */ 
if (typeof jQuery == 'undefined') { 
    var script = document.createElement('script'); 
    script.type = "text/javascript"; 
    script.src = "//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"; 
    document.getElementsByTagName('head')[0].appendChild(script); 
    } 
/* ]]> */ 
</script> 

如果你可以在你的第二個web文檔中測試jQuery庫,它不會被注入兩次。