如何使用Javascript将页面重定向到page.php #samples

时间:2011-03-15 12:16:45

标签: php javascript

我想使用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');

让我知道正确的方法

4 个答案:

答案 0 :(得分:2)

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

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

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

此外,如果您要刷新页面,那么这将无效,因为如果网址与当前网址相同,浏览器会假设您只想转到#contact的位置。

答案 1 :(得分:0)

简单:

location.href = '#contact';

答案 2 :(得分:0)

确保您的页面在联系人div

附近定义了书签或锚点

要继续使用#contact div,您必须在那里定义锚[联系人]或书签。

接触

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

答案 3 :(得分:0)

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>"; 

top之前不需要location.href