location.reload(locationreloadtrue)

http://www.itjxue.com  2023-02-12 00:26  来源:未知  点击次数: 

js中location.reload可以跨页面传值么?

location.reload 方法是重新加载页面,这个相当于你按键盘的 F5 键,是不能带参数的。

按你说的意思,功能本身是可以实现的,但不是使用 location.reload ,而且是有前提条件的。

浏览器为了安全起见,是不能操作地址不同源的 iframe 标签里的内容的,只能对同源地址的iframe进行操作,什么是同源,如果你不了解,请先搜索一下”同源策略“,简单来说就是 iframe 标签所引入的页面,必须跟你的 主页面是同一个网站中的页面。

如果你上面的效果满足上述前提,也就是 iframe 中引入的页面跟主页面都是你自己写的,而且是同一个网站,那么实现的大概思路是这样的:

1, 点击主页面的查询,将数据显示在 iframe 页面里。

就是在主页面中发起查询请求,然后在iframe 页面中显示查询结果。这里需要js配合,有两种实现方式,一是通过地址栏传递参数,另一种是直接用 js 硬写入 iframe 页面中。 如果是通过地址栏传递参数,在点击主页面的查询之后,在js中使用 iframe.src = '.....html?key1=vaue1key2=value2' 的方式传递给 iframe 页面,然后 iframe 页面中也需要用 js 来处理传递过来的参数,采用 location.search 来获取传递过来的所有参数,然后进行分割处理;如果是直接硬写入 iframe 页面中,则需要获取到 iframe 页面中相应的标签,获取当前页面中的某个元素,是用 document.get... 之类的方法,这里的 document 就是指当前页面的文档对象,那么获取 iframe ,当然得通过 iframe 页面的文档对象,获取iframe页面文档对象的方法是 iframe.contentWindow.document (iframe指的是 iframe标签,需要先用js获取到这个标签),获取到指定标签之后,就跟操作当前页面一样写数据了。

2,从iframe 子页面中返回数据到主页面中显示,这个跟上面第一步是一样的,也有两种实现思路,也是地址栏传递参数或者硬写,但因为地址栏传参会刷新页面,用户体验不好,所以还是采用硬写入的方式。 主页面写数据到iframe标签,需要先获取标签,反过来也是一样的,iframe页面中写数据到主页面,同样需要先获取到主页面中的标签,获取原理相通,先要找到主页面的文档对象,这里需要清楚整体的页面结构,主页面与 iframe 页面是直接的父子级关系,还是多层嵌套关系?如果是直接的父子关系,那就是 window.parent.contentWindow.document, 如果主页面是最顶层,那就是 window.top.contentWindow.document 。

location.reload 和 location.replace的区别和应用

eload 该方法强迫浏览器刷新当前页面。

语法:location.reload([bForceGet])

参数:bForceGet 可选参数,默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新")。

replace 该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。

语法: location.replace(URL)

在实际应用的时候,重新刷新页面的时候,我们通常使用: location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面,所以页面的method="post"的时候,会出现“网页过期”的提示。那是因为Session的安全保护机制。可以想到: 当调用 location.reload() 方法的时候, aspx页面此时在服务端内存里已经存在, 因此必定是 IsPostback 的。如果有这种应用: 我们需要重新加载该页面,也就是说我们期望页面能够在服务端重新被创建, 我们期望是 Not IsPostback 的。这里,location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。你可以这么写:location.replace(location.href)。

location.reload与f5区别

有区别。区别是

1window.location.reload()是刷新当前窗口,

2f5是整个页面刷新。

location.reload()与location.reload(true)没有区别么?

有区别,区别如下:

一、功能不同

1、location.reload():用于刷新当前文档。会从缓存获取当前文档。

2、location.reload(true):无论文档的最后修改日期是什么,都会绕过缓存,从服务器上重新下载该文档。

二、效果不同

1、location.reload():类似于浏览器上的刷新页面按钮。

2、location.reload(true):与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。

三、语法不同

1、location.reload():window.location.reload(),除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。

2、location.reload(true):用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符。

参考资料来源:百度百科-window.location

location.reload;什么意思

location reload

位置加载

location

英 [l???ke??n] 美 [lo??ke??n]

n.

定位; 位置,场所; 外景(拍摄地)

请采纳

(责任编辑:IT教学网)

更多

相关广告特效文章

推荐广告特效文章