gpt4 book ai didi

javascript - Document.write(<script>) 抛出意外标记 "ILLEGAL"

转载 作者:数据小太阳 更新时间:2023-10-29 03:59:22 25 4
gpt4 key购买 nike

在您提问之前,我已经在 Stack Overflow 中进行了大量搜索,并且在谷歌上搜索了数千次。我在这里看到的任何其他案例都对我有所帮助。

让我们回到我的问题:

我正在尝试在我的代码中使用以下脚本:

<script type='text/javaScript'>
document.write("<script src='/feeds/posts/default/-/"+hom_cat1+"?max-results=1&orderby=published&alt=json-in-script&callback=showhomeposts1'></script>");
</script>

但我使用的是 Blogger,它没有正确检测到我的代码(请注意红色脚本结束标记):

note the red script closing tag

有了这个,我无法保存模板。所以我正在尝试使用此 website 将我的代码转换为 HTML 实体.当我编码时,将其放入我的模板并保存,我得到:

Uncaught SyntaxError: Unexpected token ILLEGAL 

这是我尝试使用的编码字符串:

&lt;script type='text/javaScript'&gt;document.write(&quot;&lt;script src='/feeds/posts/default/-/&quot;+hom_cat1+&quot;?max-results=1&amp;orderby=published&amp;alt=json-in-script&amp;callback=showhomeposts1'&gt;&lt;/script&gt;&quot;);&lt;/script&gt;

我该怎么做才能解决我的问题?

最佳答案

问题是传递给document.write的字符串包括字符 </script> ,这最终会提前终止 document.write 的脚本元素被调用自。

字符</script>不能出现在脚本中的任何地方,因为 HTML 解析器无法将其与实际的 </script> 区分开来标签。

你可以尝试这样的事情:

document.write("<script src='...'></scr" + "ipt>");

或者,如评论中所述:

document.write("<script src='...'><\/script>");

另一种选择是使用 DOM API 创建 script元素并将其插入到文档中。这里的其他答案为此提供了一些建议,但实现存在潜在问题(例如,如果您尝试从 document.body.appendChild 中调用它, head 将抛出 TypeError)。这样的东西会更健壮:

(function() {
var s = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.src = 'http://something.com';
s.parentNode.insertBefore(script, s);
}());

此外,type='text/javaScript'是不正确的;使用 text/javascript或省略 type属性。

关于javascript - Document.write(&lt;script&gt;) 抛出意外标记 "ILLEGAL",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20737442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com