1

我正在用萤火虫检查这个网站。在页面部分的第三个<script/>标签内head,我发现了一个以下列方式声明的对象变量(但在这里被我截断了):

var EM={
"ajaxurl":"http:\/\/ipsos.com.au\/wp-admin\/admin-ajax.php",

"bookingajaxurl":"http:\/\/ipsos.com.au\/wp-admin\/admin-ajax.php",

"locationajaxurl":"http:\/\/ipsos.com.au\/wp-admin\/admin-ajax.php?action=locations_search",

"firstDay":"1","locale":"en"};

我不知道该变量的效用。让我印象深刻的是那里提供的 3 个网址。为什么那里存在反斜杠?难道不能是这样的:

“ajaxurl”:http://ipsos.com.au/wp-admin/admin-ajax.php

?

4

3 回答 3

5

在脚本元素中,有各种字符序列(取决于 HTML 的版本)将终止该元素。</script>将永远这样做。

<\/script>将不会。

转义/字符不会改变 JS 的含义,但会阻止任何此类 HTML 结束脚本。

于 2012-10-03T05:51:48.727 回答
2

\/\/是为了避免以下情况:

当 url 看起来类似于"ajaxurl" : "http://google.com/search?q=</script>"

尝试在浏览器地址栏中复制粘贴 url。这是正确处理的。否则,您最终可能会遇到脚本错误,并且页面可能无法按预期工作。

想象一下 DOM 操纵器替换脚本标记的 src 属性中的值,然后 javascript 引擎报告多个错误,因为引用的特定脚本可能由于不正确定义的 src 值而无法加载
希望这会有所帮助。
没有这些小东西,生活会很忙碌

于 2012-10-03T06:47:23.213 回答
0

它用于转义字符..

反斜杠 () 可用于在字符串中插入撇号、换行符、引号和其他特殊字符。

var str = " Hello "World" !! ";
alert(str)

这行不通。。

你必须先逃离他们

var str = " Hello \"World\" !! ";
alert(str) ; \\ This works

就Javascript而言,/ and <\/字符串内部是相同的。就 HTML 而言,</开始一个结束标记,但<\/没有。

于 2012-10-03T05:50:51.427 回答