我需要在 iframe fancybox窗口中设置或更新自定义HTML代码。 那我怎么能这样做?! 'content'选项不起作用! 在localhost上测试。
$("test").fancybox({
'width' : 300,
'height' : 300,
'autoScale' : false,
'type' : 'iframe',
'content' : '<H5> It`s does not work</h5>'
});
如果无法更改跨域iframe的内容(如我的情况),请告诉我如何在同一个域中执行此操作。 例如,我们在 http://localhost/page1.html 和iframe链接到 http://localhost/page2.html
答案 0 :(得分:2)
当fancybox-iframe打开时,您可以使用$('.fancybox-iframe')
访问iframe元素。
如果iframe中的文档位于同一个域中,您可以使用jQuery更改内容:
$('body',$('.fancybox-iframe').contents()).html('new content');
当fancybox-iframe尚未打开时,您可以在afterLoad-callback中执行相同操作:
$("test").fancybox({
'width' : 300,
'height' : 300,
'autoScale' : false,
'type' : 'iframe',
'href':'page2.html',
afterLoad:function(){$('body',$('.fancybox-iframe').contents())
.html('new content');}
});
是的:无法更改跨域iframe的内容(在这种情况下,您只能在iframe中加载一个全新的文档)。