我在每个雅虎新闻页上都看到过,在源代码的底部,
也不明白为什么他们会像这样破坏脚本这个词。
有谁知道这有什么原因吗?
document.write("<scr"+"ipt language=javascript src=http://l.yimg.com/d/lib/bc/bc_2.0.4.js></scr"+"ipt>");发布于 2009-09-24 21:16:34
考虑一下这个简化的例子:
<script>
document.write("something </script> something");
</script>浏览器的HTML解析器将在</script>字符串中看到JavaScript,并将其解释为脚本元素的结尾。
HTML解析器不知道JavaScript语法-它只知道<script>元素在下一个</script>结束。
(它还知道不能嵌套<script>元素,因此在示例中中断了打开的<script>和关闭的</script>。)
发布于 2009-09-24 21:19:14
假设您正在编写一个工具,用于检测文本块中脚本块的开始和结束。假设你看到了
<blah><blahdeblah><script>
blah blah blah
blah
print("</script>")
print("<script>")
blah
</script>
</blahdeblah></blah>不知道脚本语言的语法,你的工具怎么知道这是一个脚本块,而不是两个脚本块之间有")blah?
网络浏览器就是这样一个工具。这是一个合理的做法,以确保您不会混淆网页浏览器从来没有<script>或</script>在您的文件,除非它实际上是一个脚本标签。
发布于 2009-09-24 21:14:58
这样它就不会被计算,而是被插入为一个字符串。
https://stackoverflow.com/questions/1474185
复制相似问题