0

假设我有一个主页,它使用 iframe 对象作为缓冲区从同一域加载外部页面(出于安全原因)。我选择这种方法是因为 XMLHttpRequest 无法从所有浏览器中的字符串外部 xhtml 内容进行解析。

在 iframe 中加载内容后,我使用“contentDocument”属性“窃取”它的内容,然后将所有 css 样式和脚本标签附加到父级的标题并最终删除 iframe(注意 CSS 和脚本是内联的在第二个文档中,所以根本没有外部链接)。

现在一切都很好 - 我可以调用新的 javascript 函数并且 css 也可以正常工作。

我的问题是:我能够管理删除新附加的 css 样式,但使用 javascript 不起作用。是否有任何解决方案可以从同一文档中删除标题新添加的脚本标签?

我什至绝望地尝试过这个(css消失了,javascript仍然存在......)

    function emptyheader()
    {
        /* var container = document.getElementById("container"); */

        var header = document.getElementsByTagName('head')[0];  

        /* styles = header.getElementsByTagName('style'); */
        /* scripts = header.getElementsByTagName('script'); */

          while(header.hasChildNodes())
          header.removeChild(header.firstChild);    
     }
4

1 回答 1

0

我不是岸我明白你的意思。但这是一个如何添加然后删除脚本的示例(据我所知,将脚本标记添加到正文是可以的)。

<script>
function addAndRemoveScript() {
    var a = document.createElement("script");
    a.src = "yourscript.js";
    document.body.appendChild(a);
    document.body.removeChild(document.body.getElementsByTagName("script")[0])
    document.body.removeChild(document.body.getElementsByTagName("script")[0])
}
window.onload = addAndRemoveScript();
</script>
于 2012-06-22T19:26:28.747 回答