(因为它不请不要标记这个问题为重复到Can scripts be inserted with innerHTML?)为什么通过innerHTML的创建脚本元素没有得到时追加到DOM执行,而相同的脚本通过使用document.createElement创建呢?
我不知道为什么通过的innerHTML创建了一个脚本元素时追加到DOM没有得到执行:
container=document.createElement('div');
container.innerHTML='<script>alert()</'+'script>';
document.body.appendChild(container.firstChild);
。 ..同时通过使用document.createElement创建的同一个脚本时追加到DOM被执行:
script=document.createElement('script');
script.innerHTML='alert()';
document.body.appendChild(script);
在我看来是不一致的:在这两种情况下,我追加一个脚本元素(这看起来是一样的),S o我不明白为什么追加相同的脚本会产生不同的结果,具体取决于脚本的生成方式。
我知道你这个要求不被标记为重复,但它_is_。快速谷歌搜索显示,这个问题已经被问及几次。 – rossipedia