繁体   English   中英

有没有一种简单的方法可以将完整的'script'标签输出为文本?

[英]Is there a Simpler way to output a complete 'script' tag as text?

我正在编写一些AJAX,该AJAX会插入一个网页,该网页可能具有脚本和/或CSS,我试图将这些脚本和CSS分离为几个可运行所有形式的支持字段。

我相信在这种情况下,相关的代码是AJAX终结器。

xmlhttp.onreadystatechange=function()
{
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        var JavascriptContent = document.getElementsByName('AgendaJS')[0];
        var CSSContent = document.getElementsByName('AgendaCSS')[0];

        var Parser = new DOMParser();

        var xmlData = Parser.parseFromString(xmlhttp.responseText, "text/html");

        var ResponseBody = xmlData.getElementsByTagName('body')[0];

        tinymce.activeEditor.setContent(ResponseBody.innerHTML);

        var ResponseScripts = xmlData.getElementsByTagName('script');

        var i = 0;

        for( i = i; i <= ResponseScripts.length; i++ )
        {
            JavascriptContent.innerText += "\r\n" + String(ResponseScripts[i]);
        }
        return;
    }
}

这里的想法是向'AgendaJS'文本区域添加任何脚本标签(最好是全文的直接副本)。

我现在的看法是,我几乎要检查script标记的各个元素,并从“ scratch”重新生成整个标记-所以我希望这里是我可以找到一种转储此元素的方式进入不会产生此结果的字段:

[object HTMLScriptElement]

我浏览了这里和其他地方的一些帖子,声称某些特定方法有效-但我尚未确认其中的任何内容。

清楚一点-我实际上希望对JS字段添加的结果是完整标签和结束标签,如下所示:

<script type="text/javascript" src="/tinymce/js/tinymce/tinymce.min.js"></script>

使用ResponseScripts[i].outerHTML而不是String(ResponseScripts[i])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM