我正在使用JSHint,它出现以下错误:
Script URL.
我注意到这发生了,因为在此特定行上有一个包含javascript:...
网址的字符串。
我知道JSHint抱怨说因为设置了scripturl
选项,并且因为我的代码库很大,所以我现在必须取消它。
但是,我不明白使用脚本网址的问题是什么?
答案 0 :(得分:22)
javascript:
网址是'eval is evil'的一部分。
为了执行javascript:
URL,浏览器必须启动JS解析器并解析URL的文本。
这是一个缓慢而昂贵的过程。
此外,汇编javascript:
URL(或包含源代码的其他字符串)是一项棘手的任务,容易出现XSS漏洞。
最后,混合代码和URL违反了内容和行为(代码)的分离。