【问题标题】:Script tag within a script tag? [duplicate]脚本标签内的脚本标签? [复制]
【发布时间】:2022-01-14 07:07:36
【问题描述】:

我正在尝试使用脚本标签将一些代码注入 squarespace。但是,我正在尝试使用脚本标签来使用 JS 来检查用户是否在正确的页面上,如果是,我想呈现一个脚本标签。但是,我认为不可能在脚本标签中呈现脚本标签?有人对如何解决这个问题有任何建议吗?

<script type="text/javascript">

window.location.href === "https://www.page.com/correct-page" ? <script language='JavaScript1.1' SRC="correct-source"></script> : null;

</script>

谢谢

【问题讨论】:

标签: javascript html script squarespace


【解决方案1】:

当您在另一个脚本标签中使用脚本标签时,html 代码会将内部标签的结束脚本标签视为外部标签的结束标签。只需添加 \x3c 而不是

<script type="text/javascript">

window.location.href === "https://www.page.com/correct-page" ? \x3Cscript language='JavaScript1.1' SRC="correct-source">\x3Cscript> : null;

</script>

【讨论】:

  • 这仍然是无效的 JavaScript。
  • 不仅是无效的脚本概念也是错误的
【解决方案2】:

脚本标签不能包含在另一个脚本标签中,但您可以通过document.createElement 创建一个脚本标签并将其附加到正文中,如下所示:

 if(window.location.href === 'myURL') {
    var script = document.createElement('script');
    script.src = 'mySrc';
    document.body.append(script);
}

【讨论】: