繁体   English   中英

如何检测回来的页面显示?

[英]How do I detect that a page is shown from coming back?

我们的主页是一个空白页面,它检测浏览器的语言并将访问者自动重定向到他的语言页面。 实际上,那里的“后退”按钮(例如,使用Firefox)返回了我们的主页,不幸的是,该按钮再次将其发送到他的语言页面。 访客似乎在我们的页面上被抓住,“后退”按钮不再起作用。

那么我如何才能在我们的主页上检测到它被返回执行了? 然后,我将让Javascript再次按返回按钮,而不是再次将访问者带入循环。

每种语言都会完成首页上的重定向。 主页本身没有更多内容。 重定向是通过window.open进行的:

<script language="javascript" type="text/javascript">
  language = (navigator.userLanguage || navigator.language);
  language = language.substring(0,2); 
  switch (language) {
    case 'fr':
      window.open("fr/index.html",'_self');
      break;
    case 'de':
      window.open("de/index.html",'_self');
      break;
    default:
      window.open("en/index.html",'_self');
      break;
  }
</script>

我使用window.sessionStorage知道主页被第二次调用(通常来自其中一个语言页面的后退按钮):

<script language="javascript" type="text/javascript">
  if (window.sessionStorage.getItem("goBack")=="True"){
    window.sessionStorage.setItem("goBack","False"); window.history.back();
  }
  else {
    window.sessionStorage.setItem("goBack","True");
    language = (navigator.userLanguage || navigator.language);
    language = language.substring(0,2);
    switch (language) {
      case 'fr':
        window.open("fr/index.html",'_self');
        break;
      case 'de':
        window.open("de/index.html",'_self');
        break;
      default:
        window.open("en/index.html",'_self');
        break;
    }
  }
</script>

谢谢大家的评论和回答。 您带领我走对了路!

js中与语言无关的代码。

<script>
function goBack() {
    window.history.back();
}
</script>

<button onclick="goBack()">Go Back</button>

请尝试这个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM