【发布时间】:2012-09-11 18:02:25
【问题描述】:
希望你一切都好。
短:
我的 HTML 内容如下:
<img id="JavImage">
<script language="JavaScript" type="text/javascript"
src="http://www.foobar.com/Contents.js"></script>
</img>
我的 Contents.js 内容如下:
document.getElementById("JavImage").src="https://www.foobar.com/imgURL.jpg";
它在 FF15 中正确显示图像imgURL,但在 IE8 中根本不显示。我检查了源代码,FF 适当地添加了“src”属性,而 IE8 中没有附加“src”属性。
根据我对这些论坛的研究,IE 与 getElementById 和 getElementsByName 存在问题,但 <img id="JavImage" name="JavImage"></img> 也不起作用。
请指教。有关详细信息,请参见下文。
长:
我有一个简单的 HTML 页面阅读:
<script language="JavaScript" type="text/javascript" src="http://www.foobar.com/JavPage.js"></script>`
和 JavPage.js 内容如下:
document.write('<!DOCTYPE html><html><head>...<body><a id="JavHeader"><script language="JavaScript" type="text/javascript" src="http://www.foobar.com/Contents.js"></script></a>...</html>');
和 Contents.js 内容如下:
document.getElementById("JavHeader").href="www.foobar.com";
document.getElementById("JavHeader").innerHTML="Foobar";
Contents.js 中有各种具有相应 ID 的此类元素。
我的目的是允许 HTML 由外部文件编写,以便可以远程编辑。有没有更有效的方法?
简单的 HTML 页面呈现整个 Javascript,但某些元素在 Firefox/Chrome 中有效,而在 IE 中无效(请参阅Short)。请指教。
【问题讨论】:
-
不要将脚本标签放在
a和img标签内,并等待执行JS直到页面加载(通过使用load或文档就绪事件)。 -
当不正确的 URL 被合适的正确 URL 替换时,“Short”版本中的代码可以在 IE 上运行。 “长”版本似乎问的是完全不同的东西,“意图”部分与其他任何东西没有明显的联系。
-
感谢您的反馈,Jukka。我尝试将“ycombinator.com/images/yc500.gif”作为示例图像,它在 FF 中加载,但它仍然没有在 IE 中加载。下次我会确保不会在帖子中塞得太多。
标签: javascript html internet-explorer-8 getelementbyid src