Javascript用onload函数替换window.open

时间:2014-02-07 02:10:18

标签: javascript jquery

我有一个javascript函数,在我单击index.htm页面上的按钮后,以我想要的模式打开一个login.htm窗口....

function openApp()  {
    var options = "channelmode=" + 1 +
        ",resizable=" + 1 +
        ",menubar=" + 0 + 
        ",toolbar=" + 0 + 
        ",location=" + 0 + 
        ",titlebar=" + 1 +
        ",status=" + 1 +
        ",scrollbars=" + 1;

    var name = "reporting";
    var appURL = "login.htm"
    var newWindow = window.open(appURL,name,options);   
    newWindow.focus();
}

它工作正常,但现在我想在加载函数上将打开窗口的功能移到login.htm窗口。

例如,如果有人自己登录login.htm,我希望窗口以该模式打开。

我尝试过一些东西,但无法解决这个问题。有人可以帮助我。

我正在使用jquery,所以我可以使用jquery来完成它。

感谢

2 个答案:

答案 0 :(得分:0)

您将采用var options被设置的部分并将其放在openApp()函数之外,如下所示:

var options = "channelmode=" + 1 +
    ",resizable=" + 1 +
    ",menubar=" + 0 + 
    ",toolbar=" + 0 + 
    ",location=" + 0 + 
    ",titlebar=" + 1 +
    ",status=" + 1 +
    ",scrollbars=" + 1;

function openApp()  {
    var name = "reporting";
    var appURL = "login.htm"
    var newWindow = window.open(appURL,name,options);   
    newWindow.focus();
}

然后你可以根据自己的意愿致电openApp()

如果要在整个页面完全加载(即加载所有图像)时运行openApp()执行,那么您将执行以下操作:

$(window).load(function(){
  openApp();
});

如果要在文档处于“就绪”状态时(当DOM可以操作时)执行openApp(),请执行以下操作:

$("document").ready(function(){
  openApp();
});

答案 1 :(得分:0)

如果你有一个带有click事件的DOM元素打开了login.htm并且你想要打开一个新窗口,如果点击了另一个DOM元素,那么使用相同的窗口属性只需将click事件设置为DOM元素,如<span onclick="openApp()">Login</span>

您可以导航到登录页面并设置setTimeout。

只需将此代码放在用户导航到的登录页面中,并且在加载登录页面DOM后它将自行打开一个新窗口。

<script type="text/javascript">

    setTimeout(function () {

        var openApp = function () {

            var options = "channelmode=" + 1 +
                ",resizable=" + 1 +
                ",menubar=" + 0 +
                ",toolbar=" + 0 +
                ",location=" + 0 +
                ",titlebar=" + 1 +
                ",status=" + 1 +
                ",scrollbars=" + 1;

            var name = "reporting",
                appURL = "login.htm",
                newWindow = window.open(appURL, name, options);

            newWindow.focus();
        }();

    }, 100);
</script>