我们需要向我们的 Web 应用程序添加一个脚本。它基本上添加了一个公司菜单。
所以我们收到了一个脚本来包含在我们的 Web 应用程序的主体中:
<!-- BEGIN NAVIGATION -->
<script type="text/javascript" src="https://intranet.local/?getCorporateJsMenu"></script>
<!-- END NAVIGATION -->
而https://intranet.local/?getCorporateJsMenu的内容基本上是这样的:
document.write('<script type="text/javascript" src="..."></script>');
//....
document.write('<div>');
document.write('<ul>');
//...
document.write('<li><a href="...">...</a></li>');
//...
document.write('</ul>');
document.write('</div>');
将<!--NAVIGATION--><script...
直接放入 HTML 正文后,我们遇到了严重的页面加载性能问题。
所以我们的想法是使用 JavaScript 添加菜单,当所有内容都已经加载了类似这样的内容时:
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://intranet.local/?getCorporateJsMenu';
var domparent = jQuery('#header').get();
domparent[0].appendChild(script);
使用Firebug,我们看到,脚本元素已添加到 HTML 内容中,并且脚本已从网络加载,但不知何故,已加载脚本的 document.write 没有被执行。为什么?
我们无法修改https://intranet.local/?getCorporateJsMenu的内容,因为它来自第三方。