加载页面后调用Jquery函数

时间:2011-02-13 09:36:32

标签: jquery

我的JQuery中有click事件的链接,如下所示:

$('#TopLoginLink').click(function()
{
//Here I want the current page should be reloaded with "https" and after the page is loaded then it will automatically call my function MyDialogPopup(). Something like below:
var myCurrentPage = window.location.href.replace('#','');
                var reloadURL;

                if (https!=' ')
                {
                    reloadURL = myCurrentPage.replace('#','').replace("http",https);
                    window.location.href = reloadURL;
                    MyDialogPopup();

                }  

});

上面的代码正在重新加载我的页面,但我的问题是我的函数也被称为immediatley,但我希望只有在我的页面完全加载“https”时才能调用我的函数。

请建议!我怎么能实现这个

4 个答案:

答案 0 :(得分:2)

你应该定义一些标志。例如,将某些内容放入Cookie或附加到网址。然后,在你的javascript define ready处理程序中,当加载页面时将调用它:

$(document).ready(function() {
     if (checkFlag()){
         MyDialogPopup();
         clearFlag();
     }
});

您的处理程序将如下所示:

if (https!=' ')
{
    reloadURL = myCurrentPage.replace('#','').replace("http",https);
    setFlag();
    window.location.href = reloadURL;
}

如果你坚持使用cookies,你可以使用jquery.cookie插件。以下是setFlagcheckFlagclearFlag

的代码
function setFlag(){
    $.cookie('show_dlg', 'true');
}

function clearFlag(){
    $.cookie('show_dlg', null);
}
function checkFlag(){
    return $.cookie('show_dlg') == 'true';
}

答案 1 :(得分:1)

$(document).ready(function() {
    // all your code here
});

答案 2 :(得分:0)

您可以将MyDialogPopup方法调用放在$(document).ready中,而不是在修改window.location.href之后:

$(function() {
    if (do some checks on the url if we need to call the method) {
        MyDialogPopup();
    }
});

答案 3 :(得分:0)

我相信一旦页面加载就会执行此代码:

$(document).ready(function() {}