用js获取上一个页面的完整的url地址

用js获取上一个页面的完整的url地址,第1张

获取的方法如下:

1、设置或获取整个 URL 为字符串: windowlocationhref

2、设置或获取与 URL 关联的端口号码: windowlocationport

3、设置或获取 URL 的协议部分 windowlocationprotocol

4、设置或获取 href 属性中跟在问号后面的部分 windowlocationsearch

5、获取变量的值(截取等号后面的部分)

6、设置或获取 URL 的协议部分: windowlocationprotocol

7、设置或获取 href 属性中在井号“#”后面的分段: windowlocationhash

8、设置或获取 location 或 URL 的 hostname 和 port 号码: windowlocationhost

需要引入jquery!!

HTML:

<div>

    <input id="geohash" type="text" placeholder="GeoHash" maxlength="12">

    <br><br>

    <input id="coordinate" type="text" placeholder="Lat, Lng" maxlength="40">

    <br><br>

    <input id="precision" type="number" min="1" max="12" placeholder="Precision">

  </div>

js代码-执行代码:

$('#geohash')keyup(function() {

    var coordinate = decodeGeoHash(thisvalue);

    if (!coordinate || !coordinatelatitude[2] || !coordinatelongitude[2])

    {

        $('#coordinate')val('');

        $('#precision')val('');

    }

    else

    {

        $('#coordinate')val(coordinatelatitude[2]toFixed(8) + ", " + coordinatelongitude[2]toFixed(8));

        $('#precision')val(thisvaluelength);

    }

  });

  function validatePrecision()

  {

      var precision = $('#precision')val();      

      if (!precision)

      {

          return '';

      }

      else if (!$isNumeric(precision))

      {

        return 1;

      }

      else if (precision > 12)

      {

        return 12;

      }

      else if (precision < 1)

      {

        return 1;

      }

      return precision;

  }

  function toGeohash()

  {

    var precision = $('#precision')val();

    if (!$isNumeric(precision))

    {

      precision = 12;

    }

    var coordinate = $('#coordinate')val()split(",");

    var latlng = coordinate;

    if (latlnglength >= 2)

    {

        var lat = latlng[0]trim();

        var lng = latlng[1]trim();

        if (/^(\-\d+(\\d+))$/test(lat) && /^(\-\d+(\\d+))$/test(lng))

        {

          consolelog(precision);

            return encodeGeoHash(lat, lng, precision);

        }

    }

    return '';

  }

  $('#coordinate')keyup(function() {

    $('#geohash')val(toGeohash());

  });

  $('#precision')change(function() {

    $('#precision')val(validatePrecision());

    $('#geohash')val(toGeohash());

  });

  $('#precision')keyup(function() {

    $('#precision')val(validatePrecision());

    $('#geohash')val(toGeohash());

  });

js代码-geohashjs

// geohashjs

// Geohash library for Javascript

// (c) 2008 David Troy

// Distributed under the MIT License

BITS = [16, 8, 4, 2, 1];

BASE32 =     "0123456789bcdefghjkmnpqrstuvwxyz";

NEIGHBORS = { right  : { even :  "bc01fg45238967deuvhjyznpkmstqrwx" },

left   : { even :  "238967debc01fg45kmstqrwxuvhjyznp" },

top    : { even :  "p0r21436x8zb9dcf5h7kjnmqesgutwvy" },

bottom : { even :  "14365h7k9dcfesgujnmqp0r2twvyx8zb" } };

BORDERS   = { right  : { even : "bcfguvyz" },

left   : { even : "0145hjnp" },

top    : { even : "prxz" },

bottom : { even : "028b" } };

NEIGHBORSbottomodd = NEIGHBORSlefteven;

NEIGHBORStopodd = NEIGHBORSrighteven;

NEIGHBORSleftodd = NEIGHBORSbottomeven;

NEIGHBORSrightodd = NEIGHBORStopeven;

BORDERSbottomodd = BORDERSlefteven;

BORDERStopodd = BORDERSrighteven;

BORDERSleftodd = BORDERSbottomeven;

BORDERSrightodd = BORDERStopeven;

function refine_interval(interval, cd, mask) {

if (cd&mask)

interval[0] = (interval[0] + interval[1])/2;

  else

interval[1] = (interval[0] + interval[1])/2;

}

function calculateAdjacent(srcHash, dir) {

srcHash = srcHashtoLowerCase();

var lastChr = srcHashcharAt(srcHashlength-1);

var type = (srcHashlength % 2)  'odd' : 'even';

var base = srcHashsubstring(0,srcHashlength-1);

if (BORDERS[dir][type]indexOf(lastChr)!=-1)

base = calculateAdjacent(base, dir);

return base + BASE32[NEIGHBORS[dir][type]indexOf(lastChr)];

}

function decodeGeoHash(geohash) {

var is_even = 1;

var lat = []; var lon = [];

lat[0] = -900;  lat[1] = 900;

lon[0] = -1800; lon[1] = 1800;

lat_err = 900;  lon_err = 1800;

for (i=0; i<geohashlength; i++) {

c = geohash[i];

cd = BASE32indexOf(c);

for (j=0; j<5; j++) {

mask = BITS[j];

if (is_even) {

lon_err /= 2;

refine_interval(lon, cd, mask);

} else {

lat_err /= 2;

refine_interval(lat, cd, mask);

}

is_even = !is_even;

}

}

lat[2] = (lat[0] + lat[1])/2;

lon[2] = (lon[0] + lon[1])/2;

return { latitude: lat, longitude: lon};

}

function encodeGeoHash(latitude, longitude, precision) {

var is_even=1;

var i=0;

var lat = []; var lon = [];

var bit=0;

var ch=0;

geohash = "";

lat[0] = -900;  lat[1] = 900;

lon[0] = -1800; lon[1] = 1800;

while (geohashlength < precision) {

  if (is_even) {

mid = (lon[0] + lon[1]) / 2;

    if (longitude > mid) {

ch |= BITS[bit];

lon[0] = mid;

    } else

lon[1] = mid;

  } else {

mid = (lat[0] + lat[1]) / 2;

    if (latitude > mid) {

ch |= BITS[bit];

lat[0] = mid;

    } else

lat[1] = mid;

  }

is_even = !is_even;

  if (bit < 4)

bit++;

  else {

geohash += BASE32[ch];

bit = 0;

ch = 0;

  }

}

return geohash;

}

一、JS高手呢,获取历史网址

你的问题涉及到 Same Origin Policy(同源策略),这是一个关系到隐私和安全性的问题。任何浏览器都不会给你机会让你访问 异域 历史网址。

但是,如果这三个页面在同一域名下,你可以使用 Javascript 的 documentcookie 来记录每次访问的网址。

我写的例子需要4个文件,url_historyjs,1,2,3(三个 文件内容相同),代码写在空间(hibaidu/keneks/item/50699e21f9300d0c72863e4d)

复制粘贴,将 url_historyjs 和其它三个 文件放在一起,访问任何一个页面,点击任何链接,上面会自动显示曾经访问过的页面。

历史网址以 array 形式保存在 url_history 变量中,所以 url_history[0] 为上一个,url_history[1] 为上上一个,以此类推。

二、js如何获取前两页的url

<script> var backurl=documentreferrer; alert(backurl);</script>;但是有的浏览器不支持的,如果是同个域名下通过此方式跳转的,那么我们可以通过访问windowwopener对象去获取丢失的referrer信息。

代码如下:<script type=text/javascript> var referrer = documentreferrer; if (!referrer) { try { if (windowopener) { // IE下如果跨域则抛出权限异常 // Safari和Chrome下windowopenerlocation没有任何属性 referrer = windowopenerlocationhref; } } catch (e) {} }</script>;你的q号,我一会远程助你。

三、如何使用js获取修改URL

使用js对当前的URL进行 *** 作,可以使用内置对象windowlocation;windowlocation有以下属性:windowlocationhref:取得当前地址栏中的完整URL,可以通过赋值改变当前地址栏中的URL;windowlocationsearch 取得当前URL的参数部分,即“?”后面的部分(包括问号),可以通过赋值改变URL的参数部分;windowlocationhash:取得当前URL中包含的锚记,即“#”后面的部分(包括#),可以通过赋值改变URL的锚记部分;windowlocationhost:取得当前URL中的主机信息,包括端口号,可以通过赋值改变主机信息;windowlocationhostname:取得当前URL中的域名部分,不包括端口号,可以通过赋值改变域名;windowlocationport:取得当前URL中的端口号,可以通过赋值改变端口号;windowlocationpathname:取得当前URL中的路径信息,即域名与参数之间的部分,可以通过赋值改变当前URL的路径;windowlocationprotocol:取得当前URL的协议部分,比如:,:等,可以通过赋值改变URL的协议部分;windowlocation有一下方法:windowlocationreplace(url):用传入的URL字符串替代当前的URL,该方法会将历史记录中的URL一并替换掉,也就是说,这个方法会覆盖之前的历史记录;windowlocationreload():重新加载当前URL,相当于刷新;windowlocationassign(url):加载传入的URL,该方法不会覆盖之前的历史记录;。

四、JS获取几种URL地址的方法

下面为使用JS获取MAC地址、IP地址及主机名的方法:复制代码代码如下:<meta -equiv="Content-Type" content="text/; charset=gbk"><body> 。

五、js中如何获取前一个页面的url

获取的方法如下:

1、设置或获取整个 URL 为字符串: windowlocationhref

2、设置或获取与 URL 关联的端口号码: windowlocationport

3、设置或获取 URL 的协议部分 windowlocationprotocol

4、设置或获取 href 属性中跟在问号后面的部分 windowlocationsearch

5、获取变量的值(截取等号后面的部分)

6、设置或获取 URL 的协议部分: windowlocationprotocol

7、设置或获取 href 属性中在井号“#”后面的分段: windowlocationhash

8、设置或获取 location 或 URL 的 hostname 和 port 号码: windowlocationhost

六、如何使用js获取修改URL

使用js对当前的URL进行 *** 作,可以使用内置对象windowlocation;

windowlocation有以下属性:

windowlocationhref:取得当前地址栏中的完整URL,可以通过赋值改变当前地址栏中的URL;

windowlocationsearch 取得当前URL的参数部分,即“?”后面的部分(包括问号),可以通过赋值改变URL的参数部分;

windowlocationhash:取得当前URL中包含的锚记,即“#”后面的部分(包括#),可以通过赋值改变URL的锚记部分;

windowlocationhost:取得当前URL中的主机信息,包括端口号,可以通过赋值改变主机信息;

windowlocationhostname:取得当前URL中的域名部分,不包括端口号,可以通过赋值改变域名;

windowlocationport:取得当前URL中的端口号,可以通过赋值改变端口号;

windowlocationpathname:取得当前URL中的路径信息,即域名与参数之间的部分,可以通过赋值改变当前URL的路径;

windowlocationprotocol:取得当前URL的协议部分,比如:,:等,可以通过赋值改变URL的协议部分;

windowlocation有一下方法:

windowlocationreplace(url):用传入的URL字符串替代当前的URL,该方法会将历史记录中的URL一并替换掉,也就是说,这个方法会覆盖之前的历史记录;

windowlocationreload():重新加载当前URL,相当于刷新;

windowlocationassign(url):加载传入的URL,该方法不会覆盖之前的历史记录;

lz

(1)windowlocationhref : 整个URl字符串(在浏览器中就是完整的地址栏)返回值: >

实现方法:

一:获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的requestquerystring,PHP的$_GET

1函数:

<Script language="javascript">

function GetRequest() {

var url = locationsearch; //获取url中""符后的字串

var theRequest = new Object();

if (urlindexOf("") != -1) {

var str = urlsubstr(1);

strs = strsplit("&");

for(var i = 0; i < strslength; i ++) {

theRequest[strs[i]split("=")[0]]=(strs[i]split("=")[1]);

}

}

return theRequest;

}

</Script>

2然后通过调用此函数获取对应参数值:

<Script language="javascript">

var Request = new Object();

Request = GetRequest();

var 参数1,参数2,参数3,参数N;

参数1 = Request[''参数1''];

参数2 = Request[''参数2''];

参数3 = Request[''参数3''];

参数N = Request[''参数N''];

</Script>

以此获取url串中所带的同名参数

二、正则分析法。

function GetQueryString(name) {

var reg = new

RegExp("(^|&)" + name +

"=([^&])(&|$)","i");

var r =

windowlocationsearchsubstr(1)match(reg);

if (r!=null) return

(r[2]); return null;

}

alert(GetQueryString("参数名1"));

alert(GetQueryString("参数名2"));

alert(GetQueryString("参数名3"));

其他参数获取介绍:

//设置或获取对象指定的文件名或路径。

alert(windowlocationpathname);

//设置或获取整个 URL

为字符串。

alert(windowlocationhref);

//设置或获取与 URL

关联的端口号码。

alert(windowlocationport);

//设置或获取 URL

的协议部分。

alert(windowlocationprotocol);

//设置或获取 href

属性中在井号“#”后面的分段。

alert(windowlocationhash);

//设置或获取 location 或 URL 的

hostname 和 port 号码。

alert(windowlocationhost);

//设置或获取 href

属性中跟在问号后面的部分。

alert(windowlocationsearch);

获取的方法如下:

1、设置或获取整个 URL 为字符串: windowlocationhref

2、设置或获取与 URL 关联的端口号码: windowlocationport

3、设置或获取 URL 的协议部分 windowlocationprotocol

4、设置或获取 href 属性中跟在问号后面的部分 windowlocationsearch

5、获取变量的值(截取等号后面的部分)

6、设置或获取 URL 的协议部分: windowlocationprotocol

7、设置或获取 href 属性中在井号“#”后面的分段: windowlocationhash

8、设置或获取 location 或 URL 的 hostname 和 port 号码: windowlocationhost

其实比较简单,分享一段我之前写的js提取URL参数的函数吧

function UrlParamHash(url) {

    var params = [], h;

    var hash = urlslice(urlindexOf("") + 1)split('&');

    for (var i = 0; i < hashlength; i++) {

        h = hash[i]split("=");

        paramspush(h[0]);

        params[h[0]] = h[1];

    }

    return params;

}

// 如下使用, b就是你的URL字符串

var params = UrlParamHash(b),

    id = params['id'];

不过写完发现你的URL不是很标准,因为一般地址和参数直接是用""分割的,如果你的不是的话

你可以把函数里indexOf("")根据你的域名换成indexOf("com/")之类的

也可以根据你具体的URL规则修改整个函数,反正原理就在这里

以上就是关于用js获取上一个页面的完整的url地址全部的内容,包括:用js获取上一个页面的完整的url地址、在JavaScript怎么把经纬度转换成geohash、js获取历史url等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9273721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存