×

window.location.href的用法

前端技术网 前端技术网 发表于2024-01-04 03:29:31 浏览1879 评论0

抢沙发发表评论

一、window.location.href 和self.location的区别

一、指代不同

1、window.location.href:返回当前窗口在浏览器中就是完整的地址。

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对象的其他属性赋值即可。

window.location.href的用法

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的区别的内容能够给您带来一些新的认识和思考。如果您还有其他问题,欢迎继续探索我们的网站或者与我们交流,我们将尽力为您提供满意的答案。