none
IE下重写window.close不生效 RRS feed

  • 问题

  • 重写window.close方法,比如window.close=function(){console.log('我被调用了,重写生效')};

    在其他浏览器没有问题,在IE下,不生效,输出 window.close.toString(),显示的是 [native Function],有什么方法可以使window.close的重写在IE下生效吗

    2017年11月15日 12:56

全部回复

  • 你好,

    经过我的测试,我发现在ie9-11的版本中这个方法的重写都不生效。

    但是在9以下这个方法的重写就可以用了。

    我怀疑这个和IE后面的更新有关。

    这边有一个workaround,我建议你可以在html的head部分添加meta,强制ie浏览器使用ie8。这样重写就有用了。

    具体你可以参照如下代码:

    <html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=8">
        <script src="../Scripts/jquery-1.10.2.min.js"></script>
        <script type="text/javascript">
            window.close = function () { console.log('我被调用了,重写生效') }
            $(document).ready(window.close);
        </script>
        </head>
            <body>
                <div class="ListView">
                 <ul class="ListViewItem" id="ListView"></ul>
                </div>
                <input id="btn"  type="button"/>
                <input id="btn2" type="button" />
            </body>
    </html>

    结果:


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已建议为答案 shao.meng 2017年11月16日 6:01
    2017年11月16日 5:54