码迷,mamicode.com
首页 > Web开发 > 详细

php获取url井号后的参数(描点#后参数)

时间:2015-02-25 14:07:10      阅读:369      评论:0      收藏:0      [点我收藏+]

标签:

有时候我们需要获取url井号后的参数(即描点#后的参数),如下面的链接:
http://www.xindingyue.com/example/#comment-1314 
现在要获取#号后面的comment-1314,如何通过php获取呢?

首先声明php是无法直接获取的,因为这是向浏览器客户端发送的参数,在服务端压根就不接受这样的参数,$_SERVER["REQUEST_URI"]变量里是不会包含#号后面的东西的,所以无法像我们平时用php处理url那样了,那到底如何获取呢?

这是向客户端发送的参数,所以获取他只能去到客户端里获取,这里有个思路是先用前台javascript脚本获取后再把获取到的参数写入到cookie,下面是javaScript代码
<script> 
var query = location.href.split(‘#‘); 
document.cookies = ‘anchor=‘ + query[1]; 
<script>

再后就可以通过php读取cookie里的参数了:
<?php 
 echo $_COOKIE[‘anchor‘]; 
 ?>

二者完整结合的代码
<script language="javascript"> 
    query=location.href.split("#"); 
    //简单判断是不是我们要的参数 
    if(query[1] && query[1].indexOf("comment") >= 0){ 
        document.cookie=‘anchor=‘+query[1]; 
        if (query[1] != "<?php echo $_COOKIE[‘anchor‘]; ?>") { 
            //第一次获取后,cookie还没生效需重载一次 
            window.location.reload(); 
        } 
    } 
 </script> 
 <?php echo $_COOKIE[‘anchor‘]; ?>

这个用javaScript写入cookie方法获得井号后的参数,方便是很方便,但是第一次载入这个页面,都要reload()一次,用户体验不是很好吧,改用ajax方法可以解决这个问题,如果对ajax方法熟悉的话参考上面的代码加以修改也是很简单的事情,具体就不写代码了,因为ajax涉及到不是单页的事。

php获取url井号后的参数(描点#后参数)

标签:

原文地址:http://www.cnblogs.com/newdingyue/p/4299490.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!