2011-12-01 86 views
0

我正在尋找一種將外部頁面的一部分(可能由外部頁面中的id選擇)加載到div中的方法。類似於Ajax.Updater,但可以選擇在外部頁面中指定要查找的ID。在Prototype.js中使用Ajax將外部頁面的一部分加載到div中

在原型中是否存在類似的東西。我一直在Google上搜索例子,但沒有運氣。如果我不能很快找到它,我將不得不做一些Ajax.Request和與onSuccess綁定的一些功能的「體操」。

回答

0

可能做這樣的事情,但它絕不是一個優雅的解決方案。

new Ajax.Updater("container", 'www.babes.com', { 
    onSuccess: function() { 
    $("container").update($('idOfSomeLoadedElement')); 
    } 
}); 

我不認爲有一個純粹在js中做這件事的實際優雅方式。理想情況下,您只會根據需要提出AJAX請求。你可能可以做一些服務器端的東西,以消除你不需要的東西(基本上,將onsuccess功能卸載到服務器上)。

0

而不是AJAX,你可能會得到一個iframe。

// dollar function calls Element.extend 
var iframe = $(document.createElement('iframe')); 

// control how and what it loads 
iframe.addEventListener('onLoad', function() { 
    $('container').update(iframe.contentDocument.select('#someID').first()); 
}); 
iframe.setAttribute('src', 'http://URL'); 

// add it as invisible, content isn't loaded until then 
iframe.setAttribute('hidden', true); 
document.body.appendChild(iframe); 

從最小的測試很明顯,你必須要爲Concious酒店約跨域政策的任何AJAX方法,那就是,這是一個PITA。

相關問題