Javascript 在没有允许脚本的情况下,在iframe区域中按Backspace键时如何防止页面导航

Javascript 在没有允许脚本的情况下,在iframe区域中按Backspace键时如何防止页面导航,javascript,iframe,dom-events,sandbox,preventdefault,Javascript,Iframe,Dom Events,Sandbox,Preventdefault,已阻止整个文档的Backspace键的默认页面导航行为。但是,当焦点位于iframe区域时,按Backspace键仍会导致页面导航到上一个网页 下面是一个简单的例子。第一个网页page1.html包含指向第二个网页page2.html的链接,该网页有一个iframe。要重现此问题,请在web浏览器中打开page1.html,然后单击page1中的链接导航到page2.html。如果鼠标聚焦在第2页的iframe区域之外的任何位置,则在按下Backspace键后,鼠标将停留在同一页面(page2.

已阻止整个文档的Backspace键的默认页面导航行为。但是,当焦点位于iframe区域时,按Backspace键仍会导致页面导航到上一个网页

下面是一个简单的例子。第一个网页page1.html包含指向第二个网页page2.html的链接,该网页有一个iframe。要重现此问题,请在web浏览器中打开page1.html,然后单击page1中的链接导航到page2.html。如果鼠标聚焦在第2页的iframe区域之外的任何位置,则在按下Backspace键后,鼠标将停留在同一页面(page2.html);如果鼠标聚焦在iframe区域,它将导航到上一页(page1.html)

page1.html

<html>
<body>
This is page 1. <br/>
<a href="page2.html"> Click to page 2 with iframe. </a><br/>
</body>
</html>
<html>
<script type="text/javascript">
    document.onkeydown = function(event) {
        if (event.keyCode === 8) {
            event.preventDefault();
        }
    };
</script>
<body>
This is page 2 with iframe.<br/>
<iframe width="200" height="50" name="box" id="box" sandbox="allow-same-origin"></iframe><br/>
</body>
</html>
如果没有iframe的允许脚本,是否有解决此问题的方法

<html>
<script type="text/javascript">
    document.onkeydown = function(event) {
        if (event.keyCode === 8) {
            event.preventDefault();
        }
    };
</script>
<body>
This is page 2 with iframe.<br/>
<iframe width="200" height="50" name="box" id="box" sandbox="allow-same-origin allow-scripts"></iframe><br/>
<script type="text/javascript">
    window.frames[0].onkeydown = function(event) {
        if (event.keyCode === 8) {
            event.preventDefault();
        }
    };
</script>
</body>
</html>