如何在使用href链接重定向到页面后执行JS代码?

时间:2014-07-17 08:05:07

标签: javascript jquery html cordova

我有一个包含如下函数的页面:

$.ajax({
   type: "POST",
   url: "checkLogin.php"
   })
   .done(function( msg ) {
      alert(msg );
      if (msg != "true"){
         window.location.replace("index.html");
      }
});

此函数检查服务器上的会话是否处于活动状态。如果没有,它将重定向到index.html。

在第一次调用此.html时,它可以正常工作。但是如果我在页面加载之前使用href链接转到此页面,那么页面就不会执行任何JS。

我怎样才能再次调用JS?

当我打开另一个页面而不用之前用javascript加载该页面并单击href链接时它可以工作。

使用缓存的东西吗?

3 个答案:

答案 0 :(得分:1)

尝试使用window.location.replace("index.html"); replace()从文档历史记录中删除当前文档的网址,这意味着无法返回。

答案 1 :(得分:0)

你可以做的是用index.htlm#something追加index.html字符串,然后检测onload / on on document / on document-ready for index page,并执行你想要的代码

编辑:ie window.location.replace("index.html#session_check");

并在索引页面上,使用

if(window.location.href.indexOf("#session_check") != -1) {
// code here
}

答案 2 :(得分:0)

根据我的有限知识,由于安全原因,不会执行来自不同HTML文件的JS脚本。如果要执行JS脚本,则需要使用 eval(str)函数调用。其中str是JS脚本序列化为字符串。
第二种方法是动态创建"脚本" 标记,并提供指向所需JS文件的 src 属性。当脚本标记放在DOM中时,应该有希望执行脚本。