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元素的属性值,您将看到该值已被解码: