在特定大小的窗口中打开页面

时间:2011-07-13 20:06:51

标签: jquery

以下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中都这样做。

不应该太难,但它让我被殴打。

4 个答案:

答案 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

我建议一个解决方法,但是:

  1. 我想不到一个;
  2. 调整人们的窗口大小令人难以置信令人讨厌。请不要这样做。请。
  3. (另外,您的代码调整当前窗口的大小;它不会打开一个新窗口。)

答案 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()

  • $ .joinObj(object,string)简单地获取一个对象文字(我认为这就是它们所称的)的函数,如{ key1: 'val1', key2: 'val2' },并将其转换为一个字符串,其间有一个分隔符每个键/值对。我认为有一种方法可以在jQuery中执行此操作,但由于某种原因无法找到func。
  • $ .matchUrl(string)通过javascript的.match函数返回已解析网址的对象的函数。该对象包含一个名为valid的密钥,可用于确定url是否为url而不仅仅是错误放置的字符串。