我正在开发一个使用javascript制作标签的项目。它有3个标签。
Tab 3的id为tab3,我需要的是一个刷新按钮,它将在tab3上刷新页面。我遇到的问题是如果你点击tab3它将显示tab3数据,但它不会改变网址。因此刷新按钮不起作用。
我尝试了一个onclick javascript,它使用location.reload()重新加载页面,重新加载页面而不是tab3。所以我把它放在一个链接上,
<a href="<?php echo $_SERVER['REQUEST_URI']; ?>#tab3" onclick="reloadPage();" >Refresh</a>
这将链接到正确的位置,然后URL在末尾有#tab3,然后Javascript运行并重新加载回没有#tab3的URL。
所以我尝试了这个,我在某个地方看到了。
<a href="javascript:;" onclick="window.location = '<?php echo $_SERVER['REQUEST_URI']; ?>#tab3;'">Go</a>
哪些链接,但没有重新加载。
这样做的最佳方式是什么?
答案 0 :(得分:1)
试试这个 -
<a href="#tab3" onclick="location.reload();" >Refresh</a>
答案 1 :(得分:0)
在头部,
<script type='text/javascript'>
function goto(link) {
window.location = link
}
</script>
并按此按钮
<a onclick=goto("<?php echo $_SERVER['REQUEST_URI'] . '#tab3'; ?>"); >GO </a>
如果你想刷新页面,并且同样的地方也可以使用这段代码
<form method=post action="">
<input type=hidden name=value value="#tab3" />
<input type=submit value=GO />
</form>
<?php
if (isset($_POST['value']))
{
header('Location: http://'. $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI] . $_POST["value"]);
}
?>
答案 2 :(得分:0)
使用window.location是解决方案,但是如果当前位置已经与分配的新URL相同,则浏览器将不会重新加载页面。 唯一的诀窍是让新网址看起来“新”。这可以通过添加随机标识符作为查询字符串参数来完成 格式:
http://hostname?<dynamic/random>#tab3
示例:强>
<a href="javascript:;" onclick="window.location = '<?php echo $_SERVER['REQUEST_URI']; ?>' + Date.now() + '#tab3;'">Go</a>