【问题标题】:How to resize popup window from the main page after opening it?打开后如何从主页调整弹出窗口的大小?
【发布时间】:2011-08-12 07:26:53
【问题描述】:

我打开了一个具有特定宽度、高度、顶部、左侧的弹出窗口。

var newwindow=window.open("one.html",'name','height=200,width=650,top=300,left=100');

5 秒后,我需要从主页中的 setInterval 函数更改弹出窗口的宽度、高度、顶部、左侧。我该怎么做?

【问题讨论】:

    标签: javascript dom popup


    【解决方案1】:

    此代码必须在子窗口中

    function calledOnBodyLoad(){
      setTimeout(resize_now, 6000);
    }
    
    function resize_now(){
        window.moveTo(new_posx,new_posxy);
        window.resizeTo(newSizeX, newSizeY);
    }
    

    如果要从父窗口控制弹出窗口,请使用以下(在父窗口中)

    ////
    var newwindow=window.open("one.html",'name','height=200,width=650,top=300,left=100');
    setTimeout(resize_now, 6000);
    ///
    
    
     function resize_now(){
            newwindow.moveTo(new_posx,new_posxy);
            newwindow.resizeTo(newSizeX, newSizeY);
        }
    

    请记住,在这种情况下,newwindow 必须是全局变量,或者将其作为参数传递给 resize_now 函数。

    Demo here

    【讨论】:

    • 不要将字符串传递给 setTimeout,传递函数。 eval(如果您传递字符串,则由代理使用)会破坏范围,速度很慢,并且会使调试变得更加困难。
    • 它会移动什么......我需要移动新打开的弹出窗口
    • 是的,如果此代码存在,这将移动弹出窗口。如果您想从父窗口控制它,则必须使用您在问题中提到的 newwindow 变量
    【解决方案2】:

    one.htmlOnLoad 函数中,添加一个将在五秒后执行的定时器函数。对该函数进行必要的更改。

    【讨论】:

    • 我想在当前页面添加脚本并控制打开的窗口..可以吗?
    猜你喜欢
    • 2019-10-22
    • 1970-01-01
    • 2018-11-08
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    相关资源
    最近更新 更多