如何解决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中显示呢?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。