使用JavaScript阅读IFrame内容

Raj*_*jat 4 javascript iframe

好的,这是我第一次认真对待IFrame,我似乎无法理解一些事情:

首先是我测试的示例代码:

<head>
<script type="text/javascript">
function init(){
  console.log("IFrame content: " + window.frames['i1'].document.getElementsByTagName('body')[0].innerHTML);
}
</script>
</head>
<body onload="init();">
<iframe name="i1" src="foo.txt"/>
</body>
Run Code Online (Sandbox Code Playgroud)

文件"foo.txt"如下所示:

sample text file
Run Code Online (Sandbox Code Playgroud)

问题:

1)iframe似乎表现为HTML文档,文件文本实际上是身体的一部分.为什么?IFrame是否是HTML文档的规则.iframe的内容不可能只是纯文本吗?

2)由于某种原因,文件内容被包装在标签内.为什么会这样?总是这样吗?

3)我在javascript中的访问方法正在运行,但还有其他选择吗?[本机js解决方案请]如果内容总是包装在标签中,那么我实际上必须在pre标签内查找而不是查找innerHTML

小智 6

我很难获得作为iframe的src的TXT文件的内容.这是我的解决方案:

document.getElementById( 'iframeID' ).contentWindow.document.body.innerText
Run Code Online (Sandbox Code Playgroud)