我正在寻找一种方法来将外部页面的一部分(可能由外部页面中的id选择)加载到div中。与Ajax.Updater类似的东西,但可以选择在外部页面中指定要查找的ID。
原型中是否存在类似的内容。我一直在谷歌搜索没有运气的例子。如果我很快找不到它,我将不得不用Ajax.Request和一些与onSuccess相关的功能做一些“体操”。
答案 0 :(得分:0)
你可以做这样的事情,虽然它绝不是一个优雅的解决方案。
new Ajax.Updater("container", 'www.babes.com', {
onSuccess: function() {
$("container").update( $('idOfSomeLoadedElement') );
}
});
我不认为在js中有一种实际的优雅方式。理想情况下,您只能根据需要制作AJAX请求。您可能可以做一些服务器端的东西来填补您不需要的东西(基本上,将上面的onsuccess功能卸载到服务器上)。
答案 1 :(得分:0)
您可以使用iframe代替AJAX。
// 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);
从最小的测试中可以清楚地看出,您必须像任何AJAX方法一样对跨源策略有所了解,也就是说,它是PITA。