如何将通过ajax或jquery.load加载的所有javascript放在非全局子作用域中
How to put all of the javascript loaded through ajax or jquery.load in a non-global child scope
我正试图通过使用ajax/jquery.load()绕过iframe,并在我的网站上注入第三方页面(CORS要求在这里不是问题,因为第三方设置了适当的CORS响应标头)。
所以我的问题是:假设主主站点加载jquery1.x和其他一些库。假设第三方页面加载jquery2.x和其他一些与主站点冲突的库。
如何在第三方页面上重构我的JS,使其不加载在JS全局范围内,而是加载在屏蔽的子范围内。
我可以用函数(){}包装所有内容吗??包括jquery库等?如果是,我如何在第三方页面上访问此子作用域中的方法/var?
如果我需要提供更多细节,请告诉我。。。
iframes
默认情况下自己加载整个document
,并且几乎屏蔽了所有内容,您可以允许使用沙箱属性的modals/popup/etc,如果没有指定,它将只显示内容,并且不会与上层交互。
要访问iframe
内部的功能,您可以:
document.getElementById("resultFrame").contentWindow.Reset()
这将在具有resultFrame
ID的iframe内运行Reset()
全局函数。
相关文章:
- Javascript全局onclick监听器
- 没有通过ajax调用设置Javascript全局变量
- 用自定义javascript全局命名空间替换窗口
- 带有jquery .push的Javascript全局数组在备用函数中返回空数组
- Javascript全局变量简单解决方案
- 用作标志的Javascript全局变量
- Javascript全局变量问题
- 函数内部的JavaScript全局变量定义
- Selenium Web驱动程序访问Jquery中的Javascript全局变量
- Javascript全局变量在mouseup上总是未定义的
- Javascript全局变量存储在哪个对象中
- nodejs中的Javascript全局变量和属性-全局属性有时会被删除
- Javascript:全局变量转到“窗口”或“全局”,但全局函数不会.全球 FN 去哪儿了
- JavaScript 全局变量声明
- Javascript 全局范围不起作用
- 与javascript全局变量范围和更新混淆
- 通过 Excel VBA 引用 Acrobat Javascript 全局变量所需的语法是什么?
- Javascript - 全局变量和全局范围内的变量是否不同(在 jsfiddle 中)
- 使用 JavaScript 全局覆盖鼠标光标
- JavaScript 全局不保留范围?创建自动完成 Web 服务 JSON 对象