我只是在学习Javascript和jQuery,但我是一个HTML'r试图迈出下一步..
我正在尝试将内容放入一个表格中,这个表格可以是任何大小的(这是一个新闻网站)。我检查大小,然后相应调整弹出窗口的大小;虽然窗口不完全正确,但它在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中编辑一个设置,我显然不能指望用户这样做。
有什么想法吗?
答案 0 :(得分:1)
我强烈建议您使用div弹出窗口替换弹出窗口。您将遇到像Firefox一样的问题,以及完全阻止它的浏览器。假设您已包含jqueryui,并且您正在从同一域中加载此内容:
$('#container').load('/popup',function() {
var table = $('#container #top');
$('#container').dialog({height:table.height(), width: table.width()});
});
答案 1 :(得分:0)
尝试这样的事情;
<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)
})
});
这样你就不需要调整窗口大小,只需要初始设置大小。
答案 2 :(得分:0)
Firefox首选用户允许/禁止使用Javascript调整窗口大小。它位于工具 - 选项 - 内容 - 启用Javascript - &gt; [高级]。
我不确定默认情况下是否禁用了调整大小,但您可能需要先检查自己的Firefox安装。
如果它在默认情况下被禁用,那么遗憾的是,在打开窗口后,您无需执行任何操作来调整窗口大小。一个丑陋的解决方法是使用具有首选大小的window.open()
再次打开自己。
答案 3 :(得分:0)
为什么不通过ajax请求获取内容并将其显示在当前内容之上的div中?