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

标签 javascript jquery webkit xss

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

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

在 Firefox 中,浏览器会准确地 100% 地执行我告诉它的操作,并且小部件会加载您在页面上放置 include javascript 的任何位置。

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

有什么建议吗?

最佳答案

执行此操作的最佳方法是仅连接服务器上的文件——这样您就可以从发出 3 个 HTTP 请求变成一个请求,然后一起解析和执行脚本。

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

<script src="widget.js"></script>
<script src="jquery.js"></script>
<!--etc -->

关于javascript - Webkit线程javascript文件加载和执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1942199/

相关文章:

javascript - SAPUI5 片段无法打开

javascript - JSON 的多个输入字段

javascript - 语义 UI - 如何获取事件输入元素的数据?

Python - 如何在 gtk.Window 中加载 Google Chrome 或 Chromium 浏览器,如 webkit.WebView()?

css - 什么是 -webkit-focus-ring-color?

javascript - 添加阻止默认点击事件?

java - 无法通过 websocket 连接进行连接

javascript - 有没有什么方法可以在 JavaScript 运行时处理低内存情况?

javascript - 当我尝试在 Windows 7 上使用 tomcat 访问我的应用程序时,IP 地址错误

javascript - 将变量传递到主干模板时,如何在模板中引用它?