2016-08-15 41 views
-4

声明防止Javascript转义文本?

text = '{"section": "\main" }'

结果

“{” 节 “: ”主“}”

有没有一种方法,以防止JavaScript解释器从处理反斜杠作为转义字符并将其删除?

我希望能够申报 “{” 节 “: ”\主“}”,并保持反斜杠输出”

“{” 节 “: ”\主“}”

注意:如果我使用两个反斜杠,它会给我所需的输出,但我不想使用两个反斜杠,因为我在网页中包含很多Latex代码,并且它是非常尴尬的不得不加倍逃避一切。那么有没有办法来防止Javascript逃脱文字?

+4

使用文本编辑器在Latex代码中将“\”替换为“\\”,它根本不会尴尬。 –

+0

如果你不想逃跑,在div中有文本并将div的innerText读入一个var @Mikey - 是的,我看到它移除了我的评论 – mplungjan

+0

据我所知,JS不能这样做。 – Titulum

回答

1

console.log(document.getElementById("latextstrings").innerText)
<div id="latextstrings" style="display:none"> 
 
    {"section": "\main" } 
 
    {"section": "\sub" }</div>

+0

你如何设置innerHTML? – Kaiido

+0

在服务器上当然 – mplungjan

+0

所以非动态。可能对OP很好,即使那样我也许会比隐藏的元素更喜欢评论节点。 – Kaiido

3

supporting browsers,您可以使用String.raw方法是这样的:

console.log(String.raw`\main`);

+0

Back the tics on他们自己够了吗?现在不能测试这个 – mplungjan

+0

@mplungjan好的问题,在dandavis评论之后也看到了这个评论,并且在我回到键盘上测试了这个。 – Kaiido

+1

@mplungjan所以答案是在FF中:'hello'+ \''main''' - >'“hellomain”',而''hello'+ String.raw' \main'⁣⁣''⁣正确输出'“hello \ main”'。(ps:有趣的是,我不得不在这里使用反斜杠来作出评论;-)) – Kaiido

0

只需双击逃避它,它的simpliest

"\\main"