Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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
Javascript语法和HTML实体_Javascript_Html - Fatal编程技术网

Javascript语法和HTML实体

Javascript语法和HTML实体,javascript,html,Javascript,Html,我自己开发了一些爬虫软件,我的一个用户刚刚报告说,它无法处理如下代码: onclick="document.location.href = 'http://www.example.com/somepage.aspx'; return false;" i、 e.内部Javascript代码使用'而不是”来指定字符串的开头和结尾 让我惊讶的是,我测试过的浏览器没有报告任何JavaScript语法错误。。。当我点击它时,它似乎起作用了。。。我一定是大脑崩溃了-是

我自己开发了一些爬虫软件,我的一个用户刚刚报告说,它无法处理如下代码:

onclick="document.location.href = 'http://www.example.com/somepage.aspx'; return false;"
i、 e.内部Javascript代码使用
'
而不是
来指定字符串的开头和结尾

让我惊讶的是,我测试过的浏览器没有报告任何JavaScript语法错误。。。当我点击它时,它似乎起作用了。。。我一定是大脑崩溃了-是
'围绕字符串真的是合法的Javascript代码吗

'围绕字符串真的是合法的Javascript代码吗

否。浏览器将在将值计算为JavaScript之前解码字符引用

'围绕字符串真的是合法的Javascript代码吗


否。浏览器将在将值评估为JavaScript之前对字符引用进行解码。

JS对字符串分隔符同时使用
'
两种格式…较新的JS还具有反引号“availableJS对字符串分隔符同时使用
'
。。。更新的JS也有反引号“Available”,我知道浏览器在HTML部分解码字符引用。但在这一点上:——onclick=“document.location.href--浏览器是否已输入脚本代码?在我看来,浏览器在这里应用字符引用的解码是非常不直观的——我更倾向于认为浏览器JS引擎添加了一些扩展糖:)——但如果它是规范的一部分,我想有一个很好的理由,我必须匹配它。我只能重复我在回答中已经说过的。只有在对引用进行解码后,才会对代码进行评估。也就是说,浏览器获取属性值,而不关心内容是什么,对所有引用进行解码,然后进一步处理。我无法告诉您何时计算内联属性,但如果检索DOM元素的属性值,您将看到该值已被解码:我知道浏览器在HTML部分解码字符引用。但在这一点上:——onclick=“document.location.href--浏览器是否已输入脚本代码?在我看来,浏览器在这里应用字符引用的解码是非常不直观的——我更倾向于认为浏览器JS引擎添加了一些扩展糖:)——但如果它是规范的一部分,我想有一个很好的理由,我必须匹配它。我只能重复我在回答中已经说过的。只有在对引用进行解码后,才会对代码进行评估。也就是说,浏览器获取属性值,而不关心内容是什么,对所有引用进行解码,然后进一步处理。我无法告诉您何时计算内联属性,但如果检索DOM元素的属性值,您将看到该值已被解码: