我正在尝试构建一个XSS小部件,并且我遇到了Webkit浏览器加载外部javascript文件的问题,我将这些文件附加到dom中。它的工作原理如下:
在firefox中,浏览器正好100%的时间告诉它,并且小部件加载了你在页面上放置包含javascript的地方。
然而,在Webkit即Safari中,浏览器以随机顺序返回3个文件,并在返回后执行。这意味着当Content.js查找$来执行jquery魔术时它会失败。同样,如果jQuery可用,并且如果由于缺少数据而失败则会加载数据。
建议好吗?
答案 0 :(得分:0)
执行此操作的最佳方法是仅连接服务器上的文件 - 这样您就可以将3个http请求转换为1个,并且脚本将一起解析和执行。
如果你不能这样做,你是否必须通过将它们附加到dom来添加脚本标签?如果您只是在HTML中添加它们,它应该可以工作:
<script src="widget.js"></script>
<script src="jquery.js"></script>
<!--etc -->