在发布之前,我阅读了与标题相关的帖子,我确信我的问题有一个解决方案,但我是一个带有扩展,JavaScript和JQuery的n00b我无法分辨......
导致拒绝的代码是:
innerframe = $("<iframe/>").css({
top: WIDGET_TITLE_HEIGHT + "px",
left: "0px",
width: "100%",
height: "1000px",
border: "none",
align: "center",
display: "block"})
.appendTo(innerdiv)
.load(function() {
onStart()
})
.attr({
frameBorder: 0,
//scrolling:0,
src: 'javascript:(function(){document.open();document.domain="' + document.domain + '";document.write(\' <!DOCTYPE html>' + '\');document.close();})();'
})[0];
行src:'javascript ....'是罪犯,但我不知道解决方案是什么。
我读过的帖子清楚地表明代码违反了Chrome的CSP,我看到过提及消息传递,沙盒等等。
我希望有人能提供解决方案并帮助我了解正在发生的事情。
提前致谢!
答案 0 :(得分:1)
您的脚本可能违反了Same origin policy,它表示脚本只能在来自同一域的网页上执行。具体而言,它们必须具有相同的协议和主机。
您的第document.write(\' <!DOCTYPE html>' + '\');
行可能是罪魁祸首。