在动态插入的iframe中做好准备我们使用jQuery厚箱当某人单击图片时动态显示iframe。在这个iframe中,我们正在使用盖瑞用于显示多幅图片的javascript库。问题似乎是$(document).ready在iframe中,启动得太快,iframe的内容甚至还没有加载,因此Galleria代码没有正确地应用于DOM元素。$(document).ready似乎使用iframe父准备状态来决定iframe是否就绪。如果我们在一个单独的函数中提取文档调用的函数,并在超时100 ms之后调用它。它能工作,但我们不能冒险用一台缓慢的计算机进行生产。$(document).ready(function() { setTimeout(ApplyGalleria, 100); });我的问题是:当动态iframe准备好而不仅仅是父事件时,我们应该绑定哪个jQuery事件来执行我们的代码?
3 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
function callIframe(url, callback) { $(document.body).append('<IFRAME id="myId" ...>'); $('iframe#myId').attr('src', url); $('iframe#myId').load(function() { callback(this); });}
动漫人物
TA贡献1815条经验 获得超10个赞
$('iframe').ready(function() { $('body', $('iframe').contents()).html('Hello World!');});
$(function() { function manipIframe() { el = $('body', $('iframe').contents()); if (el.length != 1) { setTimeout(manipIframe, 100); return; } el.html('Hello World!'); } manipIframe();});
慕桂英3389331
TA贡献2036条经验 获得超8个赞
<body>The content of your IFrame<script type="text/javascript">//<![CDATA[ fireOnReadyEvent(); parent.IFrameLoaded();//]]></script></body>
添加回答
举报
0/150
提交
取消