Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
您为什么要使用document.writeln包含JavaScript,有什么原因吗_Javascript - Fatal编程技术网

您为什么要使用document.writeln包含JavaScript,有什么原因吗

您为什么要使用document.writeln包含JavaScript,有什么原因吗,javascript,Javascript,有没有什么好的理由可以解释为什么要像这样包含JavaScript: <script type="text/javascript">document.writeln('<script src="http://example.com/javascript/MyJavaScript.js" type="text/javascript"><' + '/script>');</script> document.writeln(“”); (很抱歉,滚动行太

有没有什么好的理由可以解释为什么要像这样包含JavaScript:

<script type="text/javascript">document.writeln('<script src="http://example.com/javascript/MyJavaScript.js" type="text/javascript"><' + '/script>');</script>
document.writeln(“”);
(很抱歉,滚动行太长。这是HTML文档的
标题中。)


我最近一直在看一些HTML,我注意到这几次(都在一个网站上)。我想不出你为什么会这样做,但我很难自称是一名网络开发人员。这些代码行很可能是自动生成的,但是,某个地方一定有人认为这是个好主意。

您可能需要根据某种客户端业务逻辑动态包含一个javascript文件。

该站点要求在延迟后或页面加载后加载js。

我不会说有任何特殊原因。这只是直接写入文档的一种方式。

此技术已用于并行加载外部脚本,保留执行顺序

它有一些缺点,例如,在IE和Opera中,即使脚本是并行加载的,其他外部资源,如图像、样式表、其他帧等。。。在加载脚本之前阻止下载

但现在,我建议通过DOM脚本包含外部脚本,动态生成
script
元素,但您必须关心IE


选中此项以查看浏览器的行为。

在某些情况下,document.writeln方法用于模糊脚本的源代码,和/或破坏在生成的html上进行简单字符串匹配的简单广告拦截器:

document.writeln('<' + 'sc' + 'r' + 'ip' + 't' + etc...)

document.writeln('您可以使用DOM操纵动态加载脚本。例如,请参阅,为什么我们需要它,一些特殊要求?您的回答暗示延迟JS需要writeln,而实际上不是。您能给我网站的url吗?然后我可能会更好地了解为什么要这样做。对不起,这不是一个可公开访问的网站。这是一个n内部工具。当js文件可以直接写入外部脚本标记时,页面为什么要使用javascript加载js文件?我认为js可以直接包含。@Ravia,有些情况下需要动态包含javascript。JSONP就是一个例子。
document.writeln('<script src="' + decode_obfuscated_url('encoded garbage here') + '">');