获得 JS 的输出内容

作者:vkvi 来源:千一网络(原创) 日期:2007-5-21

假如存在 JS 文件,文件名为:getJSOutput_data.js,内容如下:

document.write("Hello World");

同时存在 HTML 文件,文件名为:getJSOutput.htm,其 body 区内容如下:

<div id="dataSource"><script type="text/javascript" src="getJSOutput_data.js"></script></div>
<div id="showing"></div>
<script type="text/javascript">
<!--
var dataSource = document.getElementById("dataSource");
var showing = document.getElementById("showing");
showing.innerHTML = dataSource.innerHTML;
-->
</script>

现在问 dataSource.innerHTML 和 showing.innerHTML 的内容分别是什么?

为了便于说明,我们定义 <script type="text/javascript" src="getJSOutput_data.js"></script> 原始代码,定义 Hello World 输出内容

对于 dataSource.innerHTML,其值为:

  • IE 中,原始代码+输出内容。
  • FF 中,原始代码+输出内容。

对于 showing.innerHTML,其值为:

  • IE 中,输出内容。
  • FF 中,原始代码+输出内容。

所以要获得 JS 的输出内容

  • IE 中,从 showing.innerHTML 取。
  • FF 中,从 dataSource.innerHTMLshowing.innerHTML 中取,并去除原始代码

注意:innerHTML 不一定和文件中的内容相同,比如:多个连续英文空格会合并为一个、“<>”会自动转化为“lt;gt;”等。

同时 IE 和 FF 对 innerHTML 的解释不同,IE 除了上述改变外,还可能改变标签大小写、调整属性顺序、去除属性值引号等。

网友评论

  • 欢迎来 www.150it.cn 学习网(218.7.*.* 2007-11-27 16:42:18)
相关文章