Javascript 将iframe内容从http更改为本地html代码

Javascript 将iframe内容从http更改为本地html代码,javascript,html,iframe,Javascript,Html,Iframe,我在iframe中加载了一个http url。在我想要删除内容并用html代码替换它之后,我用javascript创建了它。这种交替会发生很多次。尝试使用以下代码时,出现以下错误Uncaught SecurityError:未能从“htmliframelement”读取“contentDocument”属性:阻止了具有源代码的帧”https://fiddle.jshell.net“从访问具有原点的帧”https://jsfiddle.net". 协议、域和端口必须匹配。 HTML <ifr

我在iframe中加载了一个http url。在我想要删除内容并用html代码替换它之后,我用javascript创建了它。这种交替会发生很多次。尝试使用以下代码时,出现以下错误
Uncaught SecurityError:未能从“htmliframelement”读取“contentDocument”属性:阻止了具有源代码的帧”https://fiddle.jshell.net“从访问具有原点的帧”https://jsfiddle.net". 协议、域和端口必须匹配。

HTML

<iframe id = "Preview" src ="https://jsfiddle.net/"></iframe>
<button onclick = "changeSRCtoLocal()">Click me</button>
<br>
<span>click at the button to change html content of iframe</span>

点击我

单击按钮更改iframe的html内容
JS

function changeSRCtoLocal(){
  document.getElementById('Preview').src = "about:blank";
  var iframe = document.getElementById('Preview'),
  iframedoc = iframe.contentDocument || iframe.contentWindow.document;

  iframedoc.body.innerHTML = "<html>How can someone view me?</html>";
  alert()
}
函数更改srctolocal(){
document.getElementById('Preview').src=“关于:空白”;
var iframe=document.getElementById('Preview'),
iframedoc=iframe.contentDocument | | iframe.contentWindow.document;
iframedoc.body.innerHTML=“有人如何查看我?”;
警报()
}
更新


对于任何表示您不能这样做的答案,请解释为什么这样做???

那么我应该设置iframe的
document.domain
?你能回答我关于如何实现它的问题吗?你不能,除非你控制你在iFrame中加载的页面,并可以添加某些标题等。检查哪一个符合我的要求,但用另一种方式!!您可以这样做,但我的方式不起作用,我不知道为什么。您可以更改iFrame的源,您可以更改iFrame的整个内容,但如果适用相同的源策略,您无法访问从不同域加载的iFrame的内容