javascript - 更改 jQuery 中的窗口引用
问题描述
我们在文档上有一个友好的iframe。iframe 加载 jQuery。我们希望能够创建另一个 jQuery 实例(可能使用noConflict()
),并将其设置window
为主文档窗口。
我想象这样的事情:
<!-- Main document -->
<div id="foo">42</div>
<iframe src="iframe-which-loads-jquery-and-my-script.html"></iframe>
然后,在 iframe 代码中,我们需要这样的内容:
const $mainJquery = createAJQueryInstanceOfTheMainWindow()
mainJquery("#foo").text() // → "42"
这怎么可能?我们如何window
在 jQuery 中设置自定义对象?
解决方案
function createAJQueryInstanceOfTheMainWindow(elem){
return window.parent.$;
}
const $mainJquery = createAJQueryInstanceOfTheMainWindow();
$mainJquery(()=>{
alert($mainJquery("#foo").text());
})
把这个函数放在你的 iframe 中,你就会从父窗口获得新的 jQuery 实例。
推荐阅读
- image - 猜测无损和有损压缩方案来编码图片数据(RGGB 或 YCrCb 或 YCgCo)
- api - 我看不到我的谷歌地图
- git - VS 代码提交撤消
- c - 无法在 C 中读取文件
- node.js - firebase.database() 不是本地节点上的函数
- javascript - 节点js返回回调函数中设置的全局变量
- java - 如何使按钮在不同的点击量上发生变化java
- floating-point - MIPS32 在添加 IEEE 754 双精度数时确定输入长度
- shell - 除了原始模式之外,还有其他方法可以在 Rust 中处理箭头键输入吗?
- php - mysql 和 php 函数未正确显示 % 百分比符号