我目前有一个按钮,可以使用window.open("newpage.html")
在新标签页中打开一个新窗口...我在子窗口中使用childVar = window.opener.parentGlobalVar
从父窗口中检索某些全局变量的值。现在我被要求在与父项相同的选项卡中打开新窗口,并包含一个“后退”按钮以返回到父窗口。
到目前为止,我尝试这样做并没有奏效,我尝试使用 _top 或 _self 作为window.open
的参数,{{1} }和window.location
...所有这些都无法从父级检索所需的变量;我假设当我在同一个选项卡中打开一个新页面时,这些值被清除。有没有办法可以存储这些值(客户端)或将它们传递给新窗口,如果它在同一个选项卡中打开?
答案 0 :(得分:2)
你做不到。
卸下window
(页面)后(当标签导航到新页面时),它不再存在。
相反,您可以在查询字符串中传递数据。
答案 1 :(得分:1)
您可以使用localStorage存储客户端数据。
localStorage.setItem("bar", foo);
var x = localStorage.getItem("bar");
有点像饼干,但也有风险。我建议你稍微研究一下,例如here
您基本上可以将所有内容存储在其中,例如您的引荐网址。
编辑@comment:
清除您可以使用的整个存储空间:
localStorage.clear();
并清除某个键/值对:localStorage.removeItem(key)
在兼容性方面:
caniuse.com相当不错。
答案 2 :(得分:0)
可以试用window.close("newpage.html")
方法..这会关闭“newpage.html”(后退按钮)并返回到原始页面(然后他们只需点击他们用来打开“newpage.html”的链接“如果需要查看页面或返回选项卡是必要的..
代码类似于:
<p>Click to close and return to last page.</p>
<button onclick="myFunction()">close</button>
<script>
function myFunction()
{
window.close("newpage.html");
}
</script>