Weebly 在正斜杠之前将反斜杠插入我的 javascript
Weebly inserts backslashes into my javascript before forward slashes
据我所知,每当我使用 "Embed Code" 将包含模式 /</*
的 Javascript 插入 Weebly 页面时,它会被替换为 /<\/*
已发布的页面。
例如,这段代码:
<script type="text/javascript">
var hljs=new function(p){return p.replace(/</gm, "<"}
</script>
当我在浏览器中检查最后一页时,显示如下:
<script type="text/javascript">
var hljs=new function(p){return p.replace(/<\/gm, "<"}
</script>
这是个问题,因为它似乎搞砸了旨在对我在页面上显示的代码执行 syntax-highlighting 的正则表达式。我正在使用从 R Markdown 生成的 html + Javascript 。当我在浏览器中打开 html 文件时,它们看起来很好,但是当我查看我在 weebly 上发布的版本时,没有语法突出显示,我得到一个 SyntaxError (Invalid regular expression flags
in Chrome, unmatched ) in regular expression
在 FireFox 中)。如果我查看源代码,唯一的区别是额外的反斜杠。
有人有work-around吗?
更新:原来这是另一个问题的征兆。当 Rmarkdown 生成 html 时,它包含一个 <head></head>
块。将其放入页面的实际 header 中非常重要。将整个内容粘贴到 "embed code" 框中,就像我所做的那样,将所有内容都推送到 body 中。所以真正的解决方案是转到设计选项卡并将 Rmarkdown header 代码添加到与您正在使用的页面布局对应的文件的 header 中。
您可以尝试 new RegExp(string, flags);
语法。
<script type="text/javascript">
var hljs=new function(p){return p.replace(new RegExp("<", "gm"), "<"}
</script>
这可能会避免 Weebly 强制字符转义。
据我所知,每当我使用 "Embed Code" 将包含模式 /</*
的 Javascript 插入 Weebly 页面时,它会被替换为 /<\/*
已发布的页面。
例如,这段代码:
<script type="text/javascript">
var hljs=new function(p){return p.replace(/</gm, "<"}
</script>
当我在浏览器中检查最后一页时,显示如下:
<script type="text/javascript">
var hljs=new function(p){return p.replace(/<\/gm, "<"}
</script>
这是个问题,因为它似乎搞砸了旨在对我在页面上显示的代码执行 syntax-highlighting 的正则表达式。我正在使用从 R Markdown 生成的 html + Javascript 。当我在浏览器中打开 html 文件时,它们看起来很好,但是当我查看我在 weebly 上发布的版本时,没有语法突出显示,我得到一个 SyntaxError (Invalid regular expression flags
in Chrome, unmatched ) in regular expression
在 FireFox 中)。如果我查看源代码,唯一的区别是额外的反斜杠。
有人有work-around吗?
更新:原来这是另一个问题的征兆。当 Rmarkdown 生成 html 时,它包含一个 <head></head>
块。将其放入页面的实际 header 中非常重要。将整个内容粘贴到 "embed code" 框中,就像我所做的那样,将所有内容都推送到 body 中。所以真正的解决方案是转到设计选项卡并将 Rmarkdown header 代码添加到与您正在使用的页面布局对应的文件的 header 中。
您可以尝试 new RegExp(string, flags);
语法。
<script type="text/javascript">
var hljs=new function(p){return p.replace(new RegExp("<", "gm"), "<"}
</script>
这可能会避免 Weebly 强制字符转义。