以下Javascript会根据IE8,FF4和Safari 5.0.5中的需要打开一个窗口,但不会在Opera或Chrome中打开。
function setWindowSize(){
var window_height = 600;
var window_width = 600;
window.resizeTo(window_width, window_height);
}
我想要一个同样的jQuery脚本,希望在Opera和Chrome中都这样做。
不应该太难,但它让我被殴打。
答案 0 :(得分:0)
我认为这就是你所寻求的:
function popitup(url) {
newwindow=window.open(url,'name','height=200,width=150');
if (window.focus) {newwindow.focus()}
return false;
}
编辑:抱歉,我认为你弄错了,看看这个链接:other forum
答案 1 :(得分:0)
这是你要找的? 此窗口在3秒后调整大小: http://jsfiddle.net/mescalito2345/9yeBJ/
<html>
<head>
<script type="text/javascript">
function openAndResizeWin()
{
myRef = window.open('','mywin','left=20,top=20,width=10,height=10,toolbar=1,resizable=0');
var html = '<html><head><title>Print Your Recipe</title></head><body>Hola!</body></html>';
myRef.document.open();
myRef.document.write(html);
setTimeout("myRef.resizeBy(500,500);",3000);
myRef.focus();
myRef.document.close();
}
</script>
</head>
<body>
<input type="button" onclick="openAndResizeWin()" value="Open New Window" />
</body>
</html>
答案 2 :(得分:0)
对我来说看起来像an open Chrome issue。
我建议一个解决方法,但是:
(另外,您的代码调整当前窗口的大小;它不会打开一个新窗口。)
答案 3 :(得分:0)
我想我今天就这么做了。 制作了一个jQuery扩展,它基本上将编写window.open的沉闷任务转换为jQuery语法用法,这意味着,制作一个默认大小的弹出窗口就像你想要的一样简单:
$.winOpen('http://www.somesite.com', { height: 600, width: 600 });
或
$.winOpen({ url: 'http://www.somesite.com', height: 600, width: 600 });
如果分配给变量并且您想稍后重新调整大小,则可以:
var bob = $.winOpen('http://www.somesite.com');
// some time later
bob.resizeTo(600,600);
此外,它还为您的文档数据添加了一个数组,因此如果它是您打开的第二个窗口,您可以这样做:
// 0 index array, so 1 would be the 2nd one
$(document).data('winList')[1].resizeTo(600,600);
目前已在Chrome,IE,Safari和FF中测试过0错误,尚未安装Opera。 如果您使用的是Chrome并且认为它无效,请在地址栏右侧的浏览器右上方看一下,您可能会禁用弹出窗口。
Find Extension in JS area of this jsFiddle between /* - extension begins - */
和/* - extension ends - */
仅供参考,此扩展程序还包括(我需要制作)其他两个功能,称为$.joinObj()
和$.matchUrl()
{ key1: 'val1', key2: 'val2' }
,并将其转换为一个字符串,其间有一个分隔符每个键/值对。我认为有一种方法可以在jQuery中执行此操作,但由于某种原因无法找到func。.match
函数返回已解析网址的对象的函数。该对象包含一个名为valid
的密钥,可用于确定url是否为url而不仅仅是错误放置的字符串。