zoukankan      html  css  js  c++  java
  • 获取地址栏的URL: PHP JS

     1. PHP 获取上一页的URL

          在php中可以通过内置的变量的属性来获取上一页的URL: $_SERVER['HTTP_REFERER'].

          但是在IE中如果跳转是通过js函数如: window.location.href 或者 window.open的话,  $_SERVER['HTTP_REFERER'] 返回的是空的。通过连接或者表单提交的则工作正常。FF工作正常。

          另外$_SERVER[PHP_SELF]获取当前页面的url;

     2. JS 获取上一页的URL

          在js中也有document本身属性可以或许上一页的URL:document.referrer

          但是这个跟php的 $_SERVER['HTTP_REFERER']一样,在IE中当是利用js函数跳转的话,得到的也是空值

          但如果你仅仅想利用js来实现跳转到上一页或者是上上几页的话:

    • 返回到前第几个页面: window.history.go(返回第几页,也可以使用访问过的URL);
    • 返回前一个页面: history.go(-1), 返回两个页面: history.go(-2);
    • 返回前一页面: history.back();

          使用方法<a href="javascript:history.back();">向上一页</a>

          这个不管是IE还是FF都可以

    php 获取上一页的URL
    $urlshang = $_SERVER['HTTP_REFERER']; //可以得到上一页的地址     
    $urldan = $_SERVER['PHP_SELF']; //得到当前页面地址     
    $urlcan = $_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]."?".$_SERVER["QUERY_STRING"];//这个可以得到带参数的地址  

    javascript实现:
    top.location.href   顶级窗口的地址
    this.location.href 当前窗口的地址
    PHP实现
    #测试网址:     http://localhost/blog/testurl.php?id=5

    //获取域名或主机地址
    echo $_SERVER['HTTP_HOST']."<br>"; #localhost

    //获取网页地址
    echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php

    //获取网址参数
    echo $_SERVER["QUERY_STRING"]."<br>"; #id=5

    //获取用户代理
    echo $_SERVER['HTTP_REFERER']."<br>";

    //获取完整的url
    echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
    #http://localhost/blog/testurl.php?id=5

    //包含端口号的完整url
    echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    #http://localhost:80/blog/testurl.php?id=5

    //只取路径
    $url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
    echo dirname($url);
    #http://localhost/blog
  • 相关阅读:
    原型链的树形结构
    粗略讲一讲js的代码执行机制
    30天前端打卡整理记录
    简单模拟Vue的数据代理功能
    JavaScript语言精粹读后记录
    JavaScript巧用对象的引用解决三级联动
    es6新了解
    记录小程序开发的n个坑
    比拼人品-拼手气红包的JavaScript实现方式.
    一诺千金:微信小程序的wx.request 与Promise的结合使用
  • 原文地址:https://www.cnblogs.com/SofuBlue/p/8118815.html
Copyright © 2011-2022 走看看