Webkit线程化javascript文件加载和执行顺序

我正在尝试构建一个XSS小部件,并且我遇到了Webkit浏览器加载外部javascript文件的问题,我将这些文件附加到dom中。 它的工作原理如下:

  • Widget.js将3个javascript文件附加到dom(jquery,data,content)
  • Jquery.js是带有自定义命名空间的标准jquery
  • Data.js是一个javascript数组
  • Content.js是一组jQuery指令,用于根据Data.js中的数据构建窗口小部件

在firefox中,浏览器正好100%的时间告诉它,并且小部件加载了你在页面上放置包含javascript的地方。

但是在Webkit即Safari中,浏览器以随机顺序返回3个文件,并在返回后执行。 这意味着当Content.js查找$来执行jquery魔术时它会失败。 同样,如果jQuery可用,并且如果由于缺少数据而失败则会加载数据。

建议好吗?

执行此操作的最佳方法是仅连接服务器上的文件 – 这样您就可以将3个http请求转换为1个,并且脚本将一起解析和执行。

如果你不能这样做,你是否必须通过将它们附加到dom来添加脚本标记? 如果您只是在HTML中添加它们,它应该工作: