2010-11-07 42 views
1

下面是代碼jQuery的負載元件頁作品的一切,除了視頻

$(function() { 
    if(location.hash) $("#content_inload").load(location.hash.substring(1) + ' #content_inload'); 
    $("#nav a").click(function() { 
     $("#content_inload").load(this.hash.substring(1) + ' #content_inload'); 
    }); 
}); 

出於某種原因,它會加載的一切,但不會加載JW視頻播放器。但是,如果我要求它加載整個頁面而不是'#content_inload',它將加載視頻,即使該頁面沒有頭部,沒有腳本,也不會超過'#content_inload'內的內容。我只能假設JW播放器將一行代碼添加到內容頂部的底部,但無法找到該行的內容。

+0

在樣品http://www.divethegap.com/update/community/videos/(點擊測試視頻)。 – 2010-11-07 14:49:13

+0

加載頁面中的內容是什麼? – 2010-11-07 14:50:25

+0

\t \t \t \t \t \t
(沒有其他)如果我告訴它加載整個頁面而不是隻是'#content_inload',但'#content_inload'是整個頁面,所有的工作都很好。只是一個樣本來測試這個問題,這不是最終結果將如何。 – 2010-11-07 15:00:46

回答

1

如果你看到的jQuery的有關​​方法的源代碼,他們做

... 
self.html( 
    selector ? 
    // Create a dummy div to hold the results 
    jQuery("<div>") 
     // inject the contents of the document in, removing the scripts 
     // to avoid any 'Permission Denied' errors in IE 
     .append(res.responseText.replace(rscript, "")) 

     // Locate the specified elements 
     .find(selector) : 

    // If not, just inject the full result 
    res.responseText 
); 
... 

所以,如果提供一個選擇(如你的情況),他們刪除腳本,以避免在IE權限被拒絕的錯誤。

你需要使用jQuery .get()方法

$("#nav a").click(function() { 
    $.get(this.hash.substring(1), function(response){ 
     var dummy = $('<div>').append(response).find('#content_inload'); 
     $("#inload_container").html(dummy); 
    }); 
}); 

另外請注意,我已經使用了#inload_container作爲目標元素爲你插入#content_inload到自身模仿這個代碼,實際上是複製的。


更新

您的評論後,那麼我想,工作

$("#nav a").click(function() { 
    $.get(this.hash.substring(1), function(response){ 
     $("#inload_container").empty().append(response).find('>*:not(#content_inload)').remove(); 
    }); 
}); 

下面似乎有可能是當你創建在內存中的jQuery對象的腳本元素的問題嗎? (不能確定的原因

在你的具體情況,上述解決方案將工作,但它不是很優雅,從它意味着它添加到DOM從ajax調用返回的一切,然後過濾出來的東西,我們不希望..

它可能會更好乾脆就只是改變你的實際視頻頁面(一個從阿賈克斯加載),做一個正常的​​沒有任何過濾了..

+0

謝謝你告訴我關於IE的問題。已經實現了您的代碼,但仍然無法加載視頻。視頻僅在腳本未定義要加載的元素時加載。 – 2010-11-07 16:06:40

+0

@Robin,增加了一個替代品加上一些評論.. – 2010-11-07 16:21:41

+0

感謝您的幫助 – 2010-11-07 16:32:08