2011-12-01 83 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。

相关问题