有什么理由说明为什么要包含这样的JavaScript:
<script type="text/javascript">document.writeln('<script src="http://example.com/javascript/MyJavaScript.js" type="text/javascript"><' + '/script>');</script>
(抱歉,长滚动线。这是在HTML文档的head
中。)
我最近一直在看一些HTML,我已经注意到了几次(所有这些都在一个网站上)。我想不出你为什么会这样做的任何理由,但我很难说自己是一名网络开发者。这些代码行很可能是自动生成的,但是,某个地方的某个人一定认为这是一个好主意。
答案 0 :(得分:5)
此技术已用于并行加载外部脚本,保留执行顺序。
它有一些缺点,例如,在IE和Opera中,即使脚本并行加载,其他外部资源(如图像,样式表,其他框架等)也会被阻止下载,直到加载脚本为止。
但是现在,我建议通过DOM脚本包含外部脚本,生成动态script
元素,但你必须关心IE memory leaks。
选中此test page以查看浏览器的行为。
答案 1 :(得分:1)
在某些情况下,document.writeln方法用于混淆脚本的来源,和/或打破在生成的html上进行简单字符串匹配的简单化广告拦截器:
document.writeln('<' + 'sc' + 'r' + 'ip' + 't' + etc...)
和
document.writeln('<script src="' + decode_obfuscated_url('encoded garbage here') + '">');
答案 2 :(得分:-1)
您可能需要根据某种客户端业务逻辑动态包含javascript文件。
答案 3 :(得分:-1)
网站要求在稍后延迟或加载页面后稍后加载js。
答案 4 :(得分:-1)
我不会说有任何特别的原因。这只是直接写入文档的一种方式。