Javascript innerHTML加载

Javascript innerHTML加载,html,innerhtml,preload,Html,Innerhtml,Preload,我有以下代码: window.document.getElementById("bufferTopic").innerHTML = "<img src='einstein/einstein.png' width='800' height='600'><script type='text/javascript' language='javascript'>alert('test');</script>" 我把它放在一个脚本文件中。其思想是在div中缓存一些图像

我有以下代码:

window.document.getElementById("bufferTopic").innerHTML = "<img src='einstein/einstein.png' width='800' height='600'><script type='text/javascript' language='javascript'>alert('test');</script>"
我把它放在一个脚本文件中。其思想是在div中缓存一些图像,并在完成时运行脚本

但它不起作用

对它为什么不起作用有何评论

谢谢


编辑:脚本可以加载图像。

加载后,您正在将javascript注入页面

它不会仅仅因为现在在页面上就执行

您可以阅读有关javascript执行模型的内容

不确定插入图像后为什么不能简单地写出javascript:

window.document.getElementById("bufferTopic").innerHTML = "<img src='einstein/einstein.png' width='800' height='600'>";
alert('test');

您遇到的问题与如何注入javascript有关。以下是您应该如何做到这一点的详细说明:

希望这有帮助


Bob

确保脚本显示在bufferTopic元素之后的html中。或者,在window.onLoad中执行它

另外,一个是纯javascript:

var image = new Image();
image.src = 'einstein/einstein.png';

但形象尚未改变。innerHTML定义了它。@iEisenhower-与此无关。Javascript在页面中按顺序运行。所有脚本将首先加载,然后运行。不会拾取任何新注入的javascript。是的,访问网页时会加载/缓存我的脚本。抱歉,这有点新鲜。@iEisenhower-你为什么认为缓存与此有关。顺便说一下,请看我更新的答案。你链接到的文章描述了如何添加链接的JS文件,而不是如何注入JS代码以立即执行。