location.assign,javascript的location用法
老铁们,大家好,相信还有很多朋友对于location.assign和javascript的location用法的相关问题不太懂,没关系,今天就由我来为大家分享分享location.assign以及javascript的location用法的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
javascript的location用法
1.location地址对象描述的是某一个窗口对象所打开的地址。表示当前窗口的地址,只需使用“location”就行;若要表示某一个窗口的地址,就使用“<窗口对象>.location”。具体如下:
第一、location属性、用法以及相关示例:
Location包含了关于当前 URL的信息。location对象描述了与一个给定的 Window对象
关联的完整 URL。location对象的每个属性都描述了 URL的不同特性。
2.属性概览
protocol返回地址的协议,取值为'http:','https:','file:'等等。
hostname返回地址的主机名,例如,一个“
http://www.microsoft.com/china/”的地址,location.hostname==
'www.microsoft.com'。
· port返回地址的端口号,一般 http的端口号是'80'。
· host返回主机名和端口号,如:'www.a.com:8080'。
· pathname返回路径名,如“http://www.a.com/b/c.html”,
location.pathname=='b/c.html'。
· hash返回“#”以及以后的内容,如“
http://www.a.com/b/c.html#chapter4”,location.hash==
'#chapter4';如果地址里没有“#”,则返回空字符串。
· search返回“?”以及以后的内容,如“
http://www.a.com/b/c.asp?selection=3&jumpto=4”,l ocation.search
=='?selection=3&jumpto=4';可以使用
“location.href='...'”,也可以直接用“location='...'”来达
到此目的。
3.方法概览
reload()相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)
键。
replace()打开一个 URL,并取代历史对象中当前位置的地址。用这个方
法打开一个 URL后,按下浏览器的“后退”键将不能返回到刚才的页面。
location之页面跳转js如下:
//简单跳转
function gotoPage(url){
// eg. var url=
"newsview.html?catalogid="+catalogID+"&pageid="+pageid;
window.location= url;
}
//对location用法的升级,为单个页面传递参数
function goto_catalog(iCat){
if(iCat<=0){
top.location="../index.aspx";// top出去
} else{
window.location="../newsCat.aspx?catid="+iCat;
}
}
对指定框架进行跳转页面,
function goto_iframe(url){
parent.mainFrame.location="../index.aspx";//
// parent.document.getElementById("mainFrame").src=
"../index.aspx";// use dom to change page//同时我增加了dom的写法
}
//对指定框架进行跳转页面,因为
parent.iframename.location="../index.aspx";方法不能实行,主要是
"parent.iframename"中的iframename在js中被默认为节点,而不能把传递过
来的参数转换过来,用dom实现了该传递二个参数的框架跳转页面,
function goto_iframe(iframename,url){
parent.document.getElementById(iframename).src="../index.aspx";//
use dom to change page by iframeName
//}
//回到首页
function gohome(){
top.location="/index.aspx";
怎样让浏览器显示header头部的location
使用location对象可以通过很多方式来改变浏览器的位置。首先,也是最常用的方式,就是使用assign()方法并为其传递一个URL,如下所示:
location.assign(" http://www.jxbh.cn");
这样,就可以立即打开新URL并在浏览器的历史记录中生成一条记录。如果是将location.href
或window.location设置为一个URL值,也会以该值调用assign()方法。例如,下列两行代码与显式调用assign()方法的效果完
全一样:
window.location="http://www.jxbh.cn";
location.rel="external nofollow" href="http://www.jxbh.cn";
在这些改变浏览器位置的方法中,最常用的是设置location.href属性。
另外,修改location对象的其他属性也可以改变当前加载的页面。下面的例子展示了通过将hash.search.hostname.pathname和port属性设置为新值来改变URL
前端必备基础知识:window.location 详解
前端开发人员对 window.location对象应该不陌生,通过它不但可以获取当前页面的地址信息,还可以修改某些属性,实现页面跳转和刷新等。
我们以一个常见的 URL为例,看看 window.location包含哪些属性和方法。
window.location含义.origin URL基础地址,包括协议名、域名和端口号.protocol协议( http:或 https:).host域名+端口号.hostname域名.port端口号.pathname路径(以/开头).search查询字符串,以?开头.hash页面锚点,以#开头.href完整 URL
比较容易混淆的是 host和 hostname这两个属性,区别是前者还包含了端口号。
以上属性除了 origin是只读属性,其他都可以修改。修改后的效果就是跳转到相应的新地址。
window.location返回 Location类型的一个实例对象,包含当前页面的地址信息。可以通过以下几种方式访问:
这几个变量都是等价的,因为它是全局变量。但是建议避免直接用 location变量,因为很容易跟其他局部变量混淆,造成不必要的麻烦。比如:
推荐用 window.location,这样一眼就可以看出用的是全局变量。
window.location动作
.assign()导航到指定 URL.replace()导航到指定 URL并删除当前页面的访问记录.reload()重新加载当前页面.toString()返回 URL字符串
.toString()和.href都是返回 URL,它们之间有区别吗?结果是一样的,性能上稍微有点差别。通过 JSPerf上的性能测试结果可以看出,.href稍快,通过 window.location拼接字符串的形式速度最慢。
.assign()和直接修改 href是等价的,那么它们跟.replace()的区别是什么呢?
.assign()在跳转新地址的同时会留下当前页面的访问记录,点击浏览器返回按钮会回到原来的页面,.replace()则不会保留。
.assign()执行流程:
.replace()执行流程:
这个特性在用 JS控制页面导航时非常重要,稍不注意会造成意外的的页面回退地址。
location对象中有哪些属性和方法
那么 location对象的属性结果是:
location.hostname= www.baidu.com
location.href= http://www.baidu.com/location.htm?key=asp#result
location.host= www.baidu.com:81
location.hash=#result
location.port= 81
location.pathname=/location.htm
location.search=?key=asp
location.protocol= http:
需要说明
如果 port不为空,则 host= hostname+":"+ port;如果 port为空,则 host= hostname。一般来说我们都使用默认端口 80,所以 port一般为空。
hash是包含#的。
pathname是包含/的。
search是包含?的。
protocol是包含:的。
以上属性均是可读可写的。
如果直接对 location取值赋值,就相当于对 location.href取值赋值。
在 Ajax中,可利用 hash实现前进后退功能。
href= protocol+"//"+ host+ pathname+ search+ hash(在本地双击 htm文件用浏览器打开时可能不适用本公式)
location对象的方法
assign(sURL)读取新的 URL。
reload([bReloadSource]) bReloadSource默认为 false,表示从缓存中重新读取;如果为 true,表示从服务端重新读取。
replace(sURL)读取新的 URL。
需要说明
assign与 replace是有区别的。假设有 assign.htm用 assign跳转到 history.htm,那么在 history.htm的 JavaScript对象 history中就会记录两条历史记录;假设有 replace.htm用 replace跳转到 history.htm,那么在 history.htm的 JavaScript对象 history中就只有一条历史记录(该记录为 history.htm,而不是 replace.htm)。
用 assign跳转和 href跳转则没有什么区别。
location.assign的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javascript的location用法、location.assign的信息别忘了在本站进行查找哦。