繁体   English   中英

需要使用window.resizeTo函数的替代方法

[英]Need an alternative to using window.resizeTo function

我相信在我的ASP页面中使用window.resize函数时,Firefox的错误修复使我感到悲伤。 我非常想寻找替代方法,对于任何建议,我将不胜感激。

我的页面当前是通过以下方式设置的

我有一个主页 ,叫它main.asp。 在main.asp中,我有一个带有按钮的html表单。 该按钮在单击时称为javascript函数,以打开新窗口,例如:

<html>
    <head>
        <title>Main Page</title>
    </head>
    <body>
        <SCRIPT LANGUAGE="javascript">
        function popupNew()
        {
            var win = window.open('child.asp', '_blank', 'width=400,height=260,directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=yes');
            win.focus();
        }
        </SCRIPT>
        <table>
            <tr>
                <td>
                    <button type="button" style="width:50px; font-family:arial,sans-serif; font-size:11px;" onclick="popupNew();">Add</button>
                </td>
            </tr>
        </table>
    </body>
</html>

好的,正如您所看到的,我可以从main.asp中打开child.asp。 在Child asp中,我有一个表格。 该表单存储有关是否已发布有效数据的布尔值。 我使用此布尔值来确定窗口的大小(如果数据无效,我将调整窗口的大小以允许出现错误消息。这是一个如何减少这种情况的大致示例...

<html>
  <head>
    <title>Child Page</title>
  </head>
  <body onload="_onLoad()">
    <SCRIPT LANGUAGE="javascript">
    function _onLoad()
    {
      var sResizeForError = String(document.getElementById("ResizeForError").value);

      if(sResizeForError == "true")
      {             
        window.resizeTo(400, 520);
      }
    }
    </SCRIPT>
    <form name="PageForm" method="Post" action="">
      <input type="hidden" name="ResizeForError" id="ResizeForError" value="true"/>
    </form>
  </body>
</html>

由于某些未知原因,该窗口不再在firefox中调整大小,但是在IE中可以正常工作

思考? 除了调整窗口大小以外,还有其他更好的方法吗?

正如您所发现的错误信息一样,如果未使用window.open或window包含多个选项卡打开,Firefox 7会锁定窗口大小调整。

您可以在Internet上找到更多相关信息:

你能做什么?

由于打开新窗口存在很多安全性和可用性问题,并且将来也可能会被锁定(尽管不太可能),因此最好采用以下两种方法:

  • 在主窗口中居中(水平和垂直)打开表单
  • 如果您的主窗口内容应该留在那里并且用户焦点应该切换到表单,则可以在许多库支持的模式HTML窗口中打开表单(例如jQuery UI

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM