zoukankan      html  css  js  c++  java
  • 强制浏览器在新窗口中打开url

    需求前提:

    有一个页面,里面分为N个功能与N个任务。功能模块链接单击应该在当前窗口中新开标签,而单击任务需要新开一个窗口。在任务窗口中再单击其他的链接应该在这个任务窗口中新开标签。

    1、起初使用以下方法:

    <a href="b.html" target="_blank">新开标签中打开功能</a>
    <a href="###" onclick="openWindow();">新开窗口打开一个任务</a>
    <script type="text/javascript">
        function openWindow() {
            var height = window.screen.availHeight,
                width  = window.screen.availWidth;
                
            window.open('c.html', '任务', 'height=' + height + ',width=' + width);
        }
    </script>

    单击【新开标签中打开功能】链接,会在新标签中打开,虽然设置了target='_blank',但也会新开标签,当单击【新开窗口打开一个任务】时,会使用window.open来打开一个新的窗口。看似挺完美的解决方案,但如果再往下进行就会出问题。我们在c.html中再打开一个链接时,在Firefox16.0.2下会直接在母窗口中打开一个标签。而ie8/9会再开一个新窗口,也就是说,window.open打开的窗口不支持标签,即新开的窗口就仅仅是一个窗口。

    2、使用跳转,即window.open打开一个临时窗口d.html,在这个d.html中再使用form来打开一个新窗口,理论上是可行。

    <form id="myForm" name="myForm" action="c.html" target="_blank">
    </form>
    <script type="text/javascript">
        document.myForm.target = '_blank';
        document.myForm.submit();
        window.close();
    </script>

    使用ie8/9测试,还算是可以,虽然新开的窗口不能充满整个显示器,但能够满足我们的需求。但在firefox下测试就不尽人意了,会发现还是在当前窗口中打开一个新的标签。

  • 相关阅读:
    路由基础、多app共存,路由分配、路由分发(将app自己的路由分发给应用自身管理)、反解
    Django项目的创建与介绍,三件套,静态文件,配置Mysql完成数据迁移,单表ORM记录的增删改查
    Django框架导读
    Flask简易版本、Ajax、DOM操作,表单操作
    JQuery
    0820-信心赛
    codeforces比赛总(吐)结(嘈)
    洛谷P3403 跳楼机(最短路)
    求逆序对的三种方法
    NKOJ 3751 扫雷游戏
  • 原文地址:https://www.cnblogs.com/AUOONG/p/2767575.html
Copyright © 2011-2022 走看看