• 调整window.open窗口大小并且不闪烁


    某个网页需要多个地方用window.open的方式打开,每个地方的语句都要写上打开窗口的位置、大小以及其它参数。
    如:1.htm代码:
    <html>
    <body>
    <input id="But1" type="button" onclick="window.open('2.htm', '_blank', 'width=200, height=200, resizable=no, top=200, left=400');" />
    <input id="But2" type="button" onclick="window.open('2.htm', '_blank', 'width=200, height=200, resizable=no, top=200, left=400');" />
    </body>
    </html>
    2.htm代码:
    <html>
    <body>
    示例
    </body>
    </html>
    一旦该网页的大小或位置要变动,造成修改的地方较多。

    后来想到在2.htm中装载时进行设置,代码如下:
    1.htm代码:
    <html>
    <body>
    <input id="But1" type="button" onclick="window.open('2.htm', '_blank', 'resizable=no');" />
    <input id="But2" type="button" onclick="window.open('2.htm', '_blank', 'resizable=no');" />
    <!-- 至少要带一个resizable,使用空串则是正常的一个网页 -->
    </body>
    </html>
    2.htm代码:
    <html>
    <script language="javascript">
    window.resizeTo(200, 200);
    window.moveTo(200, 400);
    </script>
    <body>
    示例
    </body>
    </html>
    这样,是可以达到只在本网页设置大小,其它网页只管调用就行。但有一个缺点,即会明显的刷新。

    后来再想弹出窗口时把它移到天外,这样就可以避免刷新问题。试的时候发现top值不能设为负值,只能设成极大。
    1.htm代码:
    <html>
    <body>
    <input id="But1" type="button" onclick="OpenNewWin('2.htm');" />
    <input id="But2" type="button" onclick="OpenNewWin('2.htm');" />
    <script language="javascript">
    //在新窗口打开链接,但没有工具栏等内容
    function OpenNewWin(URL)
    {
      window.open(URL, "_blank", "resizable=no, top=10000");
    }
    </script>
    </body>
    </html>
    这样就可以达到自己的要求了。

    如果用showModelessDialog,弹出的窗口总是在前面,不太满意。

  • 相关阅读:
    KOVN(ECC) / PRCD_ELEMENTS(HANA)
    金税 NWBC
    Vim使用方法
    Codeforces Round #744 (Div. 3) 题解
    Codeforces Round #769 (Div. 2) 题解
    vue3切换theme功能
    elementPlus使用elicon
    Vite2+Vue3+ts的eslint设置踩坑
    elementPlus配合vuerouter搭建后台系统菜单模块
    js判断字符串是否是中文
  • 原文地址:https://www.cnblogs.com/yzx99/p/1363469.html
Copyright © 2020-2023  润新知