document.location和window.location有啥区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了document.location和window.location有啥区别相关的知识,希望对你有一定的参考价值。

document.location这个对象包含了当前URL的信息location.host获取port号location.hostname设置或获取主机名称location.href设置或获取整个URLlocation.port设置或获取URL的端口号location.search设置或获取href属性中跟在问号后面的部分-------------------------------------------------------------------------------js中window.location的应用URL即:统一资源定位符(UniformResourceLocator,URL)完整的URL由这几个部分构成:scheme://host:port/path?query#fragmentscheme:通信协议常用的http,ftp,maito等host:主机服务器(计算机)域名系统(DNS)主机名或IP地址。port:端口号整数,可选,省略时使用方案的默认端口,如http的默认端口为80。path:路径由零或多个"/"符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。query:查询可选,用于给动态网页(如使用CGI、ISAPI、php/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数,用"&"符号隔开,每个参数的名和值用"="符号隔开。fragment:信息片断字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。(也称为锚点.)对于这样一个URL?ver=1.0&id=6#imhere2,window.location.protocolURL的协议部分本例返回值:http:3,window.location.hostURL的主机部分本例返回值:4,window.location.portURL的端口部分如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符本例返回值:""5,window.location.pathnameURL的路径部分(就是文件地址)本例返回值:/fisker/post/0703/window.location.html6,window.location.search查询(参数)部分除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值本例返回值:?ver=1.0&id=67,window.location.hash锚点==========================================document.href="http://munity.csdn.netlocation.href=xpert/topic/4033/4033372.xml?temp=2.695864E-02"target="_blank">munity.csdn.netlocation.hash=location.port=location.pathname=/Expert/topic/4033/4033372.xmllocation.search=?temp=2.695864E-02location.protocol=http:可见href是location的属性类别是string。[document对象]该对象是window和frames对象的一个属性,是显示于窗口或框架内的一个文档。属性alinkColor活动链接的颜色(ALINK)anchor一个HTMI锚点,使用标记创建(该属性本身也是一个对象)anchorsarray列出文档锚点对象的数组()(该属性本身也是一个对象)bgColor文档的背景颜色(BGCOLOR)cookie存储于cookie.txt文件内的一段信息,它是该文档对象的一个属性fgColor文档的文本颜色(标记里的TEXT特性)form文档中的一个窗体()(该属性本身也是一个对象)formsanay按照其出现在文档中的顺序列出窗体对象的一个数组(该属性本身也是一个对象)lastModified文档最后的修改日期linkColor文档的链接的颜色,即标记中的LINK特性(链接到用户没有观察到的文档)link文档中的一个标记(该属性本身也是一个对象)linksarray文档中link对象的一个数组,按照它们出现在文档中的顺序排列(该属性本身也是一个对象)location当前显示文档的URL。用户不能改变document.location(因为这是当前显示文档的位置)。但是,可以改变window.location(用其它文档取代当前文档)window.location本身也是一个对象,而document.location不是对象referrer包含链接的文档的URL,用户单击该链接可到达当前文档title文档的标题((TITLE>)vlinkColor指向用户已观察过的文档的链接文本颜色,即标记的VLINK特性方法clear清除指定文档的内容close关闭文档流open打开文档流write把文本写入文档writeln把文本写入文档,并以换行符结尾[window对象]它是一个顶层对象,而不是另一个对象的属性即浏览器的窗口。属性defaultStatus缺省的状态条消息document当前显示的文档(该属性本身也是一个对象)frame窗口里的一个框架((FRAME>)(该属性本身也是一个对象)framesarray列举窗口的框架对象的数组,按照这些对象在文档中出现的顺序列出(该属性本身也是一个对象)history窗口的历史列表(该属性本身也是一个对象)length窗口内的框架数location窗口所显示文档的完整(绝对)URL(该属性本身也是一个对象)不要把它与如document.location混淆,后者是当前显示文档的URL。用户可以改变window.location(用另一个文档取代当前文档),但却不能改变document.location(因为这是当前显示文档的位置)name窗口打开时,赋予该窗口的名字opener代表使用window.open打开当前窗口的脚本所在的窗口(这是NetscapeNavigator3.0beta3所引入的一个新属性)parent包含当前框架的窗口的同义词。frame和window对象的一个属性self当前窗口或框架的同义词status状态条中的消息top包含当前框架的最顶层浏览器窗口的同义词window当前窗口或框架的同义词,与self相同方法alert()打开一个Alert消息框clearTimeout()用来终止setTimeout方法的工作close()关闭窗口confirm()打开一个Confirm消息框,用户可以选择OK或Cancel,如果用户单击OK,该方法返回true,单击Cancel返回falseblur()把焦点从指定窗口移开(这是NetscapeNavigator3.0beta3引入的新方法)focus()把指定的窗口带到前台(另一个新方法)open()打开一个新窗口prompt()打开一个Prompt对话框,用户可向该框键入文本,并把键入的文本返回到脚本setTimeout()等待一段指定的毫秒数时间,然后运行指令事件处理程序事件处理程序Onload()页面载入时触发Onunload()页面关闭时触发区别:用户不能改变document.location(因为这是当前显示文档的位置)。但是,可以改变window.location(用其它文档取代当前文档)window.location本身也是一个对象,而document.location不是对象 参考技术A

没啥区别,指向的都是同一个东东,只不过是顶级对象可以省略而已。

你还可以直接写:location,

也可以写全:window.document.location

参考技术B document.location="url";(只读)
document.location.reload("url";);
window.location="url";
location="url";
document.href="url"
document.location.href="url"
document.location.replace="url"
document.action="url"; document.submit();
document.location.href和document.location.replace都可以实现从A页面切换到B页面,但他们的区别是:
用document.location.href切换后,可以退回到原页面。而用document.location.replace切换后,不可以通过“后退”退回到原页面。
关于document.location.href或其他可回退的切换方式
document.location 相当于 document.URL 声明了装载文档的URL,
除非发生了服务器重定向, 否则该属性的值与Window.location.href的值是一样的.
history.go(-1);//返回上一页
document.IFRAME名称.location.href='url';//改变框架内容
参考技术C document.location="url";(只读) document.location.reload("url";); window.location="url"; location="url"; document.href="url" document.location.href="url" document.location.replace="url" document.action="url"; document.submit();本回答被提问者采纳

以上是关于document.location和window.location有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 中的 window.location 和 document.location 有啥区别?

JavaScript 中的 window.location 和 document.location 有啥区别?

JavaScript 中的 window.location 和 document.location 有啥区别?

JavaScript 中的 window.location 和 document.location 有啥区别?

JavaScript 中的 window.location 和 document.location 有啥区别?

JavaScript 中的 window.location 和 document.location 有啥区别?