Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态创建的iframe中的window.onerror在lne 0处出现脚本错误_Javascript_Iframe - Fatal编程技术网

Javascript 动态创建的iframe中的window.onerror在lne 0处出现脚本错误

Javascript 动态创建的iframe中的window.onerror在lne 0处出现脚本错误,javascript,iframe,Javascript,Iframe,我将iframe的源设置为一个html字符串,如下所示,让它执行我存储在内存中的一个html字符串 window.sHTML = html; iframe.src = 'javascript:parent.sHTML'; html字符串包含如下javascript代码: window.onerror = function(a,b,c) { console.log(a); console.log(b); console.log(c) return true; } 当iframe

我将iframe的源设置为一个html字符串,如下所示,让它执行我存储在内存中的一个html字符串

window.sHTML = html;
iframe.src = 'javascript:parent.sHTML';
html字符串包含如下javascript代码:

window.onerror = function(a,b,c) {
  console.log(a);
  console.log(b);
  console.log(c)
  return true;
}
当iframe中发生are错误时,它会记录“脚本错误”、“0”而不是提供实际的错误信息

我理解,当所讨论的iframe是跨域的时,可能会发生这种情况:


然而,iframe不是跨域的,它只是我动态创建的东西。是否有任何方法可以使window.OneError将其视为非跨域iframe,以便我可以从window.OneError访问正确的错误信息?

如果需要使用HTML字符串动态填充iframe内容,
文档。write
可能可以:

var iframe = document.createElement('iframe');

document.body.appendChild(iframe);

iframe.contentDocument.open();
iframe.contentDocument.write(yourHTMLString);
iframe.contentDocument.close();

您是否尝试过类似
iframe.innerHTML=html而不是使用src属性?设置innerHTML的可能重复不会使iframe执行脚本成为afaik。我还没有试过document.write方法来回答你在第二次答复中提到的问题,现在就试一下。请注意,我上面列出的代码确实可以使iframe执行一个html字符串,因此这不是我试图解决的问题,这不是一个重复的问题。我的问题是针对window.onerror的,以及如何将文档字符串加载到iframe中并确保window.onerror仍然正常工作。您发布的javascript是html字符串中唯一的内容吗?您可以只执行
iframe.contentWindow.onerror=function(a,b,c){…}来自家长。刚刚尝试使用document.write方法,效果很好,所以我已经准备好了,谢谢!关于从父级执行此操作,字符串是一个大的JS文件,代码只是其中的一小部分,但我仍然可以执行iframe.contentWindow.onerror=。。。也为了这个。我也会试试,然后把结果贴在这里。结果:似乎不起作用