我正在尝试使 Ajax 页面更有用,其中一些包含 java 脚本可以以某种方式激活 java 脚本,因为到目前为止我没有找到任何可以帮助我的东西:
<script>
var d=document.getElementById("foo");
d.innerHTML="<script type='text/javascript'>alert('yey');</script>";
</script>
我希望这能提醒我“耶”,但它自然没有任何 idias 吗?请不要查询。
我正在尝试使 Ajax 页面更有用,其中一些包含 java 脚本可以以某种方式激活 java 脚本,因为到目前为止我没有找到任何可以帮助我的东西:
<script>
var d=document.getElementById("foo");
d.innerHTML="<script type='text/javascript'>alert('yey');</script>";
</script>
我希望这能提醒我“耶”,但它自然没有任何 idias 吗?请不要查询。
您正在尝试的内容将不起作用,因为加载页面时机器上会解释 javascript,因此,当您插入代码时,页面的整个脚本已经被浏览器的 javascript 引擎和您的代码解析在页面上插入被引擎视为纯文本。
在页面刷新之前,代码不会再次发送到引擎,但是当它这样做时,您插入的 javascript 将消失,因为它在页面加载时不存在。
您需要做的是在您的内容上使用某种类型的模板/包含系统。
我知道了!
var d=document.getElementById("foo");
d.innerHTML="<script type='text/javascript'>alert('yey');</script>";
startScrypt(d);
function startScrypt(obj) {.
if (!obj) return;
var children=obj.childNodes;
for (var i in children)
if (children[i]){
if (children[i].tagName=="SCRIPT") {
if (!children[i].src || children[i].src=="")
window.setTimeout(children[i].innerHTML,0);
else {load_scrit_src(children[i].src);}
} else startScrypt(children[i]);
}
}
那很好……谢谢大家。