我有一个插件,可以记录任何网站上的用户操作。
这些 Action 记录在同一浏览器的不同窗口中。
对于IE,它可以在除具有iframe的网站之外的所有网站上正常运行。
该脚本在具有iframe的网站上被阻止,并出现以下错误:
脚本5:访问被拒绝。

它是一个自我创建的插件。

错误在window.open上
它无法正确打开新窗口

以下是该插件的代码段。

newwindow = window.open("", "ScriptGen", "menubar=0,directories=0,toolbar=no,location=no,resizable=yes,scrollbars=yes,width=450,height=250,titlebar=0");

newwindow.document.write('<title>New Console</title>');

使用警报(窗口)在所有站点上显示“[对象窗口]。但是在具有iframe的站点上,它仅显示” [对象]”

请指导。

最佳答案

我不知道您使用的是什么版本的jQuery,但我认为您应该更新到1.11.0:

https://jsfiddle.net/j3LaC/-尝试使用1.10.1(不起作用)和1.11.0(起作用)

HTML:

<div id="body"></div>
<input id="button" type="button" value="Submit iframe"/>

JavaScript:
var iframe = $("<iframe></iframe>").appendTo("#body")[0];
var doc = iframe.document;
var content = '<form method="get"><input name="hidden" type="hidden" value="123"/></form>';
doc = iframe.contentDocument;
doc.writeln(content);
doc.close();

$('input#button').click(function () {
    $('iframe').contents().find('form')[0].submit();
});

CSS:
iframe {
    height: 300px;
    width : 100%;
}

09-11 01:39