嘿伙计们我正在尝试使用append将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);
});
答案 0 :(得分:0)
有人可能会问你为什么要嵌入自己的网页副本?这可能会产生某种无限的嵌套问题,浏览器可能会试图阻止这种问题。 iframe嵌入自身,嵌入自身,直到所有内存或其他资源耗尽,除非你的代码或浏览器阻止这种情况发生,否则它永远不会停止。
至于清理代码,我建议更改为此代码:
$("#button").click(function () {
var windowLocation = window.location.href;
$("body").append('<iframe id="fullFrame" src="' + windowLocation + '"width="1000" height="1000"></iframe>');
});
这改变了两件事。首先,它使用位置对象中的href
属性来获取URL,然后使用.src
属性创建并插入iframe。
答案 1 :(得分:0)
对我来说,这看起来会产生一个递归。根据框架集的一些旧规范,在这种情况下,这样的框架应该被视为空:http://www.w3.org/TR/WD-frames-970331#nesting
因此,Firefox可能会实现此行为。