一、window.location.href 和self.location的区别
一、指代不同
1、window.location.href:返回当前窗口在浏览器中就是完整的地址。
2、self.location:返回指定窗口在浏览器中就是完整的地址。
二、作用不同
1、window.location.href:URL的端口部分。如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符。
2、self.location:查询(参数)部分。除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。
三、用法不同
1、window.location.href:除了设置 location或 location.href用完整的 URL替换当前的 URL之外,还可以修改部分 URL,只需要给 Location对象的其他属性赋值即可。
2、self.location:表示的却是浏览器当前显示的文档的 URL(或位置)。但是 Location对象所能做的远远不止这些,还能控制浏览器显示的文档的位置。
参考资料来源:百度百科-Location对象
参考资料来源:百度百科-window.location
二、window.location.href 和window.location的区别
window.location是页面的位置对象,window.location.href是 location的一个属性值,并且它是location的默认属性就是说对window.location直接赋值一个url实际上就是对window.location.href赋值。location对象除了有href属性外还有很多其他属性和方法,而href就是一个字符串
只不过修改location的href会触发浏览器加载 href所指向的url
因此不存在前者速度比后者快的。
btw:你判断前者比后者快的依据是什么?事实上,加载同一个url的速度不一定每次都一样,这个受当时的网络状况,页面内容是否已经有被缓存等有关。
三、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";
四、window.location.href
(小积累)
self.location.href="/url"当前页面打开URL页面
location.href="/url"当前页面打开URL页面
windows.location.href="/url"当前页面打开URL页面,前面三个用法相同。
this.location.href="/url"当前页面打开URL页面
parent.location.href="/url"在父页面打开新页面
top.location.href="/url"在顶层页面打开新页面
window.history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面
window.history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在
传送门:
https://www.jb51.net/article/53479.htm
https://blog.csdn.net/cgzhello1/article/details/8101525
文章分享到这里,希望我们关于window.location.href的用法和window.location.href 和window.location的区别的内容能够给您带来一些新的认识和思考。如果您还有其他问题,欢迎继续探索我们的网站或者与我们交流,我们将尽力为您提供满意的答案。