获取的方法如下:
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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)