我的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”时才能调用我的函数。
请建议!我怎么能实现这个
答案 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插件。以下是setFlag
,checkFlag
,clearFlag
:
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() {}