我有一个页面,其中所有内容都由php函数调用。调用哪个函数以及页面上显示的内容取决于页面的url。它从url获取数据并进行更改。功能示例:
switch($DO){
case 'edit':
editorProfile('1');
break;
case 'Add':
addpeople('1');
break;
case 'about':
show_about('1');
break;
case 'jobs':
show_jobs('3',$details['cid']);
break;
case 'photo':
show_photo('3',$details['cid']);
break;
?>
获取变量
$DO=$_GET['dothis'];
html
link 1 <a href="mypage.php?dothis=edit">edit</a>
link 1 <a href="mypage.php?dothis=add">add</a>
link 1 <a href="mypage.php?dothis=about">about</a>
link 1 <a href="mypage.php?dothis=photo">photo</a>
目前,它运行得很好,但页面会被重新加载。我想要一些改变url、更新内容但不重新加载整个页面的东西。
我知道这可以通过以下方式完成:
window.history.pushState("object or string", "Title", "/new-url");
但我不知道如何实现这一点,也不知道在旧浏览器的情况下需要做什么更改(在旧浏览器中,如果不支持,页面就会重新加载)。
查看我使用它的智能链接,觉得它很神奇。https://github.com/igor-alexandrov/wiselinks.这是一个jquery ajax库,可以处理任何你可以扔给它的东西。我在大多数网页上都使用它,因为你可以创建超快速浏览和seo友好的ajax网站。我认为它应该对你需要的东西也有好处。它将在不重新加载页面的情况下更改浏览器中的url和标题。
您试图实现的目标无法用PHP实现。它每次都会重新加载。
您必须使用Ajax异步发出请求,避免重新加载。
http://www.w3schools.com/ajax/
关于URL,我不确定是否可以在不重新加载的情况下更改它,即使在Ajax中也是如此。