Javascript a<;脚本>;是否自动计算附加到文档的标记?
在许多浏览器上,如果我这样做:Javascript a<;脚本>;是否自动计算附加到文档的标记?,javascript,cross-browser,script-tag,Javascript,Cross Browser,Script Tag,在许多浏览器上,如果我这样做: var x = document.createElement("SPAN"); x.innerHTML = "<script>alert(1);</script>"; document.body.appendChild(x); var x=document.createElement(“SPAN”); x、 innerHTML=“警报(1);”; 文件.正文.附件(x); 不会发生警报 是否有任何浏览器会发生这种情况?如果是,哪些
var x = document.createElement("SPAN");
x.innerHTML = "<script>alert(1);</script>";
document.body.appendChild(x);
var x=document.createElement(“SPAN”);
x、 innerHTML=“警报(1);”;
文件.正文.附件(x);
不会发生警报
是否有任何浏览器会发生这种情况?如果是,哪些是?无。innerHTML不运行脚本元素(除非它们有defer属性,但我认为这不是通用的) 我还没有测试过以下内容,但它应该在支持DOM和JS的浏览器中得到普遍支持
var script = "alert(1)";
var script_node = document.createTextNode(script);
var script_element = document.createElement('script');
script_element.type = "text/javascript";
script_element.appendChild(script_node);
document.body.appendChild(script_element);
没有。innerHTML不运行脚本元素(除非它们有defer属性,但我认为这不是通用的) 我还没有测试过以下内容,但它应该在支持DOM和JS的浏览器中得到普遍支持
var script = "alert(1)";
var script_node = document.createTextNode(script);
var script_element = document.createElement('script');
script_element.type = "text/javascript";
script_element.appendChild(script_node);
document.body.appendChild(script_element);
正如David指出的,使用
.innerHTML
是行不通的
虽然大多数人会认为添加到DOM是一种方法,但这种方法在Safari2.0上不起作用
中使用的最佳方法是使用document.write()
:
//在Safari 2.0中,通过DOM插入失败,因此暴力方法
文件。写('alert(“hi”);');
正如David指出的那样,使用.innerHTML
是行不通的
虽然大多数人会认为添加到DOM是一种方法,但这种方法在Safari2.0上不起作用
中使用的最佳方法是使用document.write()
:
//在Safari 2.0中,通过DOM插入失败,因此暴力方法
文件。写('alert(“hi”);');
通过innerHTML添加脚本在我所知道的任何浏览器中都不起作用。通过dom添加脚本节点在IE中不起作用。如果您有一个html字符串,其中包含要插入到页面中的脚本标记,最好的办法是提取脚本标记内容并对其进行评估。原型库有一个方便的函数来完成这项工作(以及插入html和eval脚本等的其他函数)。通过innerHTML添加脚本在我所知道的任何浏览器中都不起作用。通过dom添加脚本节点在IE中不起作用。如果您有一个html字符串,其中包含要插入到页面中的脚本标记,最好的办法是提取脚本标记内容并对其进行评估。原型库有一个方便的函数来实现这一点(以及插入html和eval脚本等的其他函数)。document.write在具有完整DOM的页面上不起作用(人们开始考虑innerHTML时通常是这样),Safari 2的市场份额很小。在一个比Windows系统升级更多的平台上,它比stable落后了两个版本(Windows系统继续给我们留下IE6的遗产)文档。write无法在具有完整DOM的页面上工作(人们开始考虑innerHTML时通常是这样),Safari 2的市场份额很小。在一个比Windows系统升级更多的平台上,它比stable落后了两个版本(Windows系统继续给我们留下IE6的遗产)