【问题标题】:How do I redirect page using Javascript to page.php#sample如何使用 Javascript 将页面重定向到 page.php#sample
【发布时间】:2011-03-15 12:16:44
【问题描述】:

我想使用 javascript 刷新页面并转到 div id。

例如我所做的是

echo "<script type='text/javascript'>top.location.href = '" . $url . "/page.php#contact';</script>";    

例如,#contact div 位于页面的一半并且它不起作用,除非我按下回车按钮并转到 #contact

<div id="contact">Contact</div>

如果用php可以做

header('Location:/page.php#contact');

告诉我正确的做法

【问题讨论】:

  • 如果您使用 PHP,请不要忘记,因为它正在编写标头,因此必须在任何其他输出之前调用标头函数。

标签: php javascript


【解决方案1】:

从技术上讲,您的脚本应该可以工作。至少当我尝试它时,它似乎没有太多问题。但是,请记住,如果您只是将 javascript 放在这样的页面上,那么浏览器可能会立即运行它,而无需等待整个页面加载。我的观点是,如果您在 之前输出 javascript,实际上将 DIV 标签放在页面上,浏览器可能还看不到 div 标签,也无法在那里滚动浏览器。

您想确保脚本在 HTML 源代码中的 DIV 之后输出,或者在页面加载后运行 javascript,例如:

echo "<script type='text/javascript'>
window.onload = function () { top.location.href = '" . $url . "/page.php#contact'; };
</script>";

另外,如果你想刷新页面,那么这将不起作用,因为如果 url 与当前 url 相同,浏览器会假定你只想去#contact 的位置。

【讨论】:

    【解决方案2】:

    简单:

    location.href = '#contact';
    

    【讨论】:

    • 我试过了。例如在一半内容上的#contact div,但除非我们按下键盘上的回车键,否则它不会起作用。
    【解决方案3】:

    确保您的页面在联系人 div 附近定义了书签或锚点

    要转到#contact div,您必须在此处定义锚点 [contact] 或书签。

    联系

    然后它应该重定向到相应的位置

    【讨论】:

      【解决方案4】:
      echo $url; //for debugging purpose only, to see if you are writing this right!
      echo "<script type='text/javascript'>
      location.href = '" . $url . "/page.php#contact';
      </script>"; 
      

      location.href 之前不需要top

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-25
        • 1970-01-01
        • 2012-06-18
        • 1970-01-01
        • 2010-10-07
        • 1970-01-01
        • 2021-12-20
        • 2017-05-08
        相关资源
        最近更新 更多