Javascript 将 window.open 替换为 onload 函数



我有一个javascript函数,在我单击索引页面上的按钮后,可以在我想要的模式下打开登录.htm窗口.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();
}

它工作正常,但现在我想将打开窗口的功能移动到加载功能的登录.htm窗口中。

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

我已经尝试了一些方法,但无法弄清楚。有人可以帮我吗?

我正在使用jquery,所以我可以使用jquery来做到这一点。

谢谢

如果您有一个带有打开登录名的单击事件的 DOM 元素.htm并且您希望在单击另一个 DOM 元素时打开一个具有相同窗口属性的新窗口,只需将单击事件设置为该 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>

你可以把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();
});

最新更新