Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE中转义的Javascript文本,但不是Firefox、Chrome或Safari_Javascript_Internet Explorer_Escaping - Fatal编程技术网

IE中转义的Javascript文本,但不是Firefox、Chrome或Safari

IE中转义的Javascript文本,但不是Firefox、Chrome或Safari,javascript,internet-explorer,escaping,Javascript,Internet Explorer,Escaping,我已经生成了内联代码,为javascript数组赋值。数组的一个元素应设置为“c:\folder\somefilename”。这句话太多了,为了简洁起见,我省略了大部分内容: <SCRIPT type="text/javascript"> var StepsList = {"steps": [ { "id": "RST4551509111516131001035411012110410849", "stepAudio": "",

我已经生成了内联代码,为javascript数组赋值。数组的一个元素应设置为“c:\folder\somefilename”。这句话太多了,为了简洁起见,我省略了大部分内容:

<SCRIPT type="text/javascript">    
var StepsList = {"steps": [
    {
        "id": "RST4551509111516131001035411012110410849",
        "stepAudio": "",
        "screenImage": "IO1A.PNG",
        "demoNote": "",
         "controlRect": {
            "top": "297",
            "left": "256",
            "right": "277",
            "bottom": "318"
            },
        "valueText": "c:\uploadfile.txt",
        "label": "Presentation Server File"
    [snipped]
</SCRIPT>

var StepsList={“步骤”:[
{
“id”:“RST4551509111516131001035411012110410849”,
“stepAudio”:“,
“屏幕图像”:“IO1A.PNG”,
“注”:“注”,
“controlRect”:{
“top”:“297”,
“左”:“256”,
“右”:“277”,
“底部”:“318”
},
“valueText”:“c:\uploadfile.txt”,
“标签”:“演示服务器文件”
[剪下]
valueText元素“c:\uploadfile.txt”的内容在代码生成之前从用户输入中捕获。当在Chrome、Firefox、IE5、IE6或Safari中执行此代码时,不会解析文本,只会将其正确分配给数组。IE7、8和9在看到“\u”时抛出错误“预期十六进制数字”作为逃逸序列

我不希望javascript解析转义字符的文本。我已经尝试了旧的方法,并将其放入CDATA标记中。是否有解决此问题的方法

蒂亚, 艾迪,你试过这个吗

"valueText" : "c:\\uploadfile.txt"

如果字符串将包含文字反斜杠,则必须对其进行转义。例如:

{"valueText": "c:\\uploadfile.txt"}
如果您使用服务器上的库创建JSON,它将自动转义。也就是说,请不要手动生成JSON。

表明在JScript(IE)中处理此问题的正确方法是使用两个反斜杠

注: 如果要在字符串中使用文字文本\u,请使用两个反斜杠-(\u)-1来转义第一个反斜杠


嗯,
\
是JS字符串中的转义字符,对此你无能为力。如果你想要一个文本反斜杠,你必须转义它。因此,答案似乎是在输入托管代码时解析用户输入并保存转义数据,然后在生成时再次转义数据,然后在用户重新输入数据。或者-不支持IE8或IE9。C#允许您在文本前加上“@”,告诉它不要转义文本。即@“C:\folder\file”vs“C:\\folder\\file”。