0

我正在尝试在 iframe 中记录内容。我问了一个问题(当点击 iframe 外部的按钮时,是否可以在 iframe 中写一些东西?),并得到了一些答案,但有一个问题:当我向 iframe 标签添加“src”属性时,代码停止工作,它不会在 iframe 中写入任何内容。

下面的代码不起作用:

<button onclick="test()">Click to write in iframe</button>

<iframe id='ifr' src = "myDocument.html"></iframe>
<script>

function test(){
    var iframe = document.getElementById("ifr"); 
    //contentDocument because IE8 doesn't support contentWindow
    (iframe.contentDocument || iframe.contentWindow.document).write("hello iframe");   
}

</script>

但是,如果我删除那个“src”属性,它就会起作用。

关于为什么会发生这种情况的任何想法?

4

1 回答 1

0

您可以使用 src 属性,而不是 document.write:

var htmlString="<p>Hello iframe</p>";
var ifr = document.getElementById('ifr');
ifr.src="javascript:'"+htmlString+"'";

htmlString 可以是 html 或只是文本。

上述技术等价于 html5 中的 srcdoc 属性。

于 2013-05-16T23:24:45.977 回答