location.assign?this.location
location对象中有哪些属性和方法
那么 location对象的属性结果是:
location.hostname= *baidu*
location.href=
location.host= *baidu*: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的 J*aScript对象 history中就会记录两条历史记录;假设有 replace.htm用 replace跳转到 history.htm,那么在 history.htm的 J*aScript对象 history中就只有一条历史记录(该记录为 history.htm,而不是 replace.htm)。
用 assign跳转和 href跳转则没有什么区别。
j*ascript的location用法
1.location地址对象描述的是某一个窗口对象所打开的地址。表示当前窗口的地址,只需使用“location”就行;若要表示某一个窗口的地址,就使用“<窗口对象>.location”。具体如下:
第一、location属性、用法以及相关示例:
Location包含了关于当前 URL的信息。location对象描述了与一个给定的 Window对象
关联的完整 URL。location对象的每个属性都描述了 URL的不同特性。
2.属性概览
protocol返回地址的协议,取值为'http:','https:','file:'等等。
hostname返回地址的主机名,例如,一个“
”的地址,location.hostname==
'*microsoft*'。
· port返回地址的端口号,一般 http的端口号是'80'。
· host返回主机名和端口号,如:'*a*:8080'。
· pathname返回路径名,如“”,
location.pathname=='b/c.html'。
· hash返回“#”以及以后的内容,如“
”,location.hash==
'#chapter4';如果地址里没有“#”,则返回空字符串。
· search返回“?”以及以后的内容,如“
”,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”;
前端必备基础知识: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控制页面导航时非常重要,稍不注意会造成意外的的页面回退地址。
怎样让浏览器显示header头部的location
使用location对象可以通过很多方式来改变浏览器的位置。首先,也是最常用的方式,就是使用assign()方法并为其传递一个URL,如下所示:
location.assign(” “);
这样,就可以立即打开新URL并在浏览器的历史记录中生成一条记录。如果是将location.href
或window.location设置为一个URL值,也会以该值调用assign()方法。例如,下列两行代码与显式调用assign()方法的效果完
全一样:
window.location=””;
location.href=””;
在这些改变浏览器位置的方法中,最常用的是设置location.href属性。
另外,修改location对象的其他属性也可以改变当前加载的页面。下面的例子展示了通过将hash.search.hostname.pathname和port属性设置为新值来改变URL
本文链接:http://www.po-te.com/html/87964864.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。