我正在做一个元素,当我双击页面中的某个元素时,我使用 vanilla javascript 和 jquery 打开一个新窗口。我知道如何在 javascript/jquery 中打开一个新窗口,我不知道该怎么做是如何将信息从原始窗口发送到新窗口。
假设我双击原始窗口中的某个内容。然后这将创建一个新对象并打开一个新窗口。我想知道是否有办法将新创建的对象从原始窗口发送到新窗口。
最佳答案
您可以做的是在打开弹出窗口之前将对象附加到父窗口的“窗口”对象。弹出窗口可以访问父窗口,因此只要知道对象的名称,就可以从弹出窗口中检查它。
所以在你的父页面上:
<script type="text/javascript">
function DoPopThing() {
var obj = { foo: 5, bar: 12, eep: function () { alert("fools!"); } }
window.prePopObj = obj;
window.open("PopupTarget.aspx", "PopupWindow", "width=400, height=400, resizable=false");
}
</script>
<button onclick="DoPopThing(); return false;">Click me!</button>
在您的弹出/子页面上(本例中为“PopupTarget.aspx”):
<script type="text/javascript">
$(document).ready(function () {
alert(window.opener.prePopObj.foo);
});
</script>
无论刷新多少次或页面 URL 更改,弹出窗口都可以访问该对象。只要它后面的父窗口不刷新(这会导致它丢失其“prePopObj”对象),该对象就可用。子窗口也可以根据需要更改父窗口的对象。
关于javascript - 使用javascript打开一个新窗口,其中包含上一个窗口的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24681994/