如何在浏览器返回按钮上关闭弹出的颜色框。

3

我希望在浏览器点击后退按钮时关闭颜色框弹出窗口。

我使用了一个iframe,在iframe内有许多链接。当用户单击特定链接时,就会打开一个颜色框弹出窗口。

目前,在打开弹出窗口后,如果用户单击后退按钮,则弹出窗口不会关闭。

因此,我想要这样的功能:如果用户单击后退按钮,则弹出窗口将关闭,并且页面不应返回(禁用后退按钮)。

我已经使用了以下代码,但对我无效。

<script>
    $(document).ready(function() {
        function disableBack() { window.history.forward() }

        window.onload = disableBack();
        window.onpageshow = function(evt) { if (evt.persisted) disableBack() }
    });
</script>

请给我任何建议,以关闭颜色框弹出窗口或完全禁用后退按钮。
1个回答

1
你应该使用window.location.hashwindow.onhashchange。基本上,在弹出窗口打开后,你需要更改哈希值(例如window.location.hash = "popup_opend")。
然后当用户点击返回按钮时,该返回操作将删除你刚刚添加的哈希值。 你只需要处理window.onhashchange来检查并关闭弹出窗口即可。
当然,希望你没有其他操作哈希值的代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接