Firefox弹出窗口的Javascript调整大小?

问题描述

| 我只是在学习Javascript和jQuery,但是我是HTML \',正在尝试下一步。 我正在尝试将内容放到一个表中,该表可以是任何大小(用于新闻网站)。我检查大小,然后相应地调整弹出窗口的大小;虽然窗口并不完全正确,但它在Firefox中甚至无法调整大小。 使用通用链接弹出一个基本窗口:
<a onclick=\"window.open(\'http://site.local/popup/\',\'popup\',\'width=1,height=1\')\">popup</a> 
我将其指向页面,在该页面中,cms会将所有内容放入表中(id = \“ top \”)。它具有认宽度= \“ 1 \”来强制约束,然后让内容扩展表以设置实际大小。然后,我检查表大小以查看document.ready()上的窗口并调整其大小:
<script type=\"text/javascript\">
 <!--
 $(document).ready(function() {
  var divh = document.getElementById(\'top\').offsetHeight;
  var divw = document.getElementById(\'top\').offsetWidth;

  //Test size
  //alert(\"Table: width= \" + divw + \"px / height= \" + divh +\"px\");

  //Resize
  window.resizeto(divw,divh);
  }    
 -->
</script>
我需要能够调整已在Firefox中打开的窗口的大小。 所有窗口大小(Firefox除外)均已关闭,但我可以进行填充-稍大于截止大小。不幸的是,Firefox会生成一个180w x 249h的小窗口,并且从不调整大小。 我在这里搜索失败-大多数建议在Firefox中编辑设置,我显然不能期望用户这么做。 有任何想法吗?     

解决方法

Firefox带有用户首选项,允许/禁止使用Javascript调整窗口大小。在工具-选项-内容-启用Javascript-> [高级]中。 我不确定默认情况下是否禁用调整大小功能,但是您可能需要首先检查自己的Firefox安装。 如果默认情况下处于禁用状态,那么很遗憾,在打开窗口之后,您无法做任何调整窗口大小的操作。一个丑陋的解决方法是再次使用
window.open()
和首选大小再次打开自己。     ,我强烈建议您使用div弹出窗口替换您的弹出窗口。您将遇到类似Firefox的问题,并且浏览器将其完全阻止。假设您包含了jqueryui,并且您正在从同一域中加载此内容:
$(\'#container\').load(\'/popup\',function() {
     var table = $(\'#container #top\');
    $(\'#container\').dialog({height:table.height(),width: table.width()});
});
    ,尝试这样的事情;
<a class=\'poptrigger\'>pop</a>

$(function(){
 var w = $(\"#top\").outerWidth();
 var h = $(\"#top\").outerHeight();
 $(\'.poptrigger\').click(function{
  window.open(\'http://site.local/popup/\',\'popup\',\'width=\'+w+\',height=\'+h)
 })
});
这样,您无需调整窗口大小,而只需设置初始大小即可。     ,为什么不通过ajax请求获取内容并在当前内容上方的div中显示呢?