我正在从页面(例如父级)中打开一个iframe(在弹出窗口中),并尝试使用以下代码$(window.parent.document)从此iframe中隐藏父页面的div元素(其ID为iframeloading) .find(“#iframeloading”)。hide();

这在ff中有效,但在IE7中不起作用。

最佳答案

当前使用的大多数浏览器都支持iframe onload属性(包括IE5.5 +,Firefox,Safari,Opera)。如果您希望较早的浏览器在文档加载到iframe中后立即执行某些操作,则可以在该文档中包含onload处理程序。然后,该文档可以使用parent关键字引用包含文档。

使用具有onload html属性的传统javascript方法:

<iframe id="testFrame" name="testFrame" onload="hideLoading();" />
<script type="text/javascript">
    function hideLoading() {
        $("#iframeloading").hide();
    }
</script>


当然,您可以使用jQuery框架正确添加此事件:

<iframe id="testFrame" name="testFrame"/>
<script type="text/javascript">
    $("#testFrame").load(function() {
        $("#iframeloading").hide();
    });
</script>

09-19 22:21