0

嘿伙计们,我正在尝试使用附加向页面添加 iframe。在 Firefox 中,它添加了一个空的 iframe,但在 chrome 中它可以正常工作。仅当 windowLocation 为 window.location 时才会附加空 iframe。当我将其更改为其他网址时,它可以正常工作。

$("#button").click(function () {
 var windowLocation = window.location;
 $("body").append('<iframe id="fullFrame" width="1000" height="1000"></iframe>');
 $("#fullFrame").attr("src", windowLocation);
});
4

2 回答 2

0

有人可能会问,为什么要在其中嵌入自己网页的副本?这可能会产生某种浏览器试图阻止的无限嵌套问题。iframe 将自身嵌入自身,将自身嵌入自身,除非您的代码或浏览器阻止这种情况发生,否则在所有内存或其他资源耗尽之前,它永远不会停止。

至于清理代码,我建议更改为以下代码:

$("#button").click(function () {
 var windowLocation = window.location.href;
 $("body").append('<iframe id="fullFrame" src="' + windowLocation + '"width="1000" height="1000"></iframe>');

});

这改变了两件事。首先,它使用href来自 location 对象的属性来获取 URL,其次,它创建并插入具有该.src属性的 iframe。

于 2012-10-06T16:20:03.877 回答
0

对我来说,这看起来会产生递归。根据框架集的一些旧规范,在这种情况下,这样的框架应该被视为空:http: //www.w3.org/TR/WD-frames-970331#nesting

所以也许 Firefox 实现了这种行为。

于 2012-10-06T16:22:21.860 回答