假如存在 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.innerHTML 或 showing.innerHTML 中取,并去除原始代码。
注意:innerHTML 不一定和文件中的内容相同,比如:多个连续英文空格会合并为一个、“<>”会自动转化为“lt;gt;”等。
同时 IE 和 FF 对 innerHTML 的解释不同,IE 除了上述改变外,还可能改变标签大小写、调整属性顺序、去除属性值引号等。
网友评论
- 欢迎来 www.150it.cn 学习网(218.7.*.* 2007-11-27 16:42:18)