javascript - 使用javascript打开一个新窗口,其中包含上一个窗口的信息

标签 javascript jquery html css web

我正在做一个元素,当我双击页面中的某个元素时,我使用 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/

相关文章:

javascript - 通过href获取<a></a>标签之间的值

javascript - 查找第 n 个字符后的上一个 <p>?

javascript - 输入数量并更新总订单

jQuery 添加和删除延迟

javascript - Bootstrap 3.0 行和图像/div 并排

javascript - 如何在输入数字元素中将输入显示为元素符号?

javascript - 构造函数总是函数对象吗?

javascript - 单击放大一张图片

javascript - 如何显示 slider 左侧的navigationMenu div

php - 我想在 wordpress 中制作一个弹出窗口?