0

据我所知,每当我使用“嵌入代码”将包含该模式的 Javascript 插入到 Weebly 页面时,它都会在已发布的页面上/</*被替换为。/<\/*

例如,这段代码:

<script type="text/javascript">
    var hljs=new function(p){return p.replace(/</gm, "&lt;"}
</script>

当我在浏览器中检查最后一页时显示如下:

<script type="text/javascript">
    var hljs=new function(p){return p.replace(/<\/gm, "&lt;"}
</script>

这是一个问题,因为它似乎搞砸了正则表达式,这些正则表达式旨在对我在页面上显示的代码进行语法高亮显示。我正在使用从 R Markdown 生成的 html + Javascript。当我在浏览器中打开 html 文件时,它们看起来很好,但是当我查看我放在 weebly 上的版本时,没有语法高亮显示并且我得到一个 SyntaxError(Invalid regular expression flags在 Chrome 中,unmatched ) in regular expression在 FireFox 中)。如果我查看源代码,唯一的区别是额外的反斜杠。

有人有解决方法吗?

更新:原来这是另一个问题的症状。当 Rmarkdown 生成 html 时,它包含一个<head></head>块。重要的是要进入页面的实际标题。将整个内容粘贴到“嵌入代码”框中,就像我正在做的那样,将所有内容都推入正文。所以真正的解决方案是转到设计选项卡,并将 Rmarkdown 标头代码添加到与您正在使用的页面布局对应的文件的标头中。

4

1 回答 1

1

你可以试试new RegExp(string, flags);语法。

<script type="text/javascript"> var hljs=new function(p){return p.replace(new RegExp("<", "gm"), "&lt;"} </script>

这可以避免 Weebly 强迫角色逃跑。

于 2015-09-28T04:34:06.403 回答