Javascript重新加载页面
为了重新加载页面没有完全重新加载我正在使用的一切:
window.top.location=window.top.location;
但是,当有锚文本时,这不起作用。 在这种情况下,它似乎什么也不做,但更有可能刷新主播。
任何修复这将重新加载页面(如上)而不重新加载caching的图像和脚本?
尝试使用location.reload(false)
。
正如MDN所说 ,第二个参数是一个指示是否绕过caching的布尔值。 如您所愿, false
将继续使用caching。
icktoofay解释了解决方法,所以我只是解决这个问题:
但是,当有锚文本时,这不起作用。 在这种情况下,它似乎什么也不做,但更有可能刷新主播。
HTML 5描述了包含document.location
赋值的Location接口 。
当调用assign(url)方法时,UA必须parsing相对于条目脚本的基本URL的参数,如果成功,则必须将浏览上下文导航到指定的url。
所以导航操作只能看到一个绝对的URL,所以没有什么区别只是分配一个片段,而不是分配一个绝对的URL,这个URL和一个片段一样。
导航
8片段标识符:将URLparsing器algorithm应用于新资源的绝对URL和正在浏览的浏览上下文的活动文档的地址。 如果结果parsingURL的所有组件(忽略任何片段组件)都是相同的 ,并且新资源将使用HTTP GET或等效方法获取,并且新资源的parsingURL具有非空的片段组件如果它是空的), 然后导航到该片段标识符并放弃这些步骤。
最后, 导航到一个片段标识符说
当用户代理需要滚动到片段标识符时,它必须使用CSSOM视图规范中定义的查看algorithm,使用scroll元素更改文档的滚动位置,并设置align to top标志或执行其他操作动作,使得文档的指示部分引起用户的注意。
要完全确定页面本身的最好方法是重新加载,但其他caching的元素不是用随机参数更改location.search查询string。
例如,
location.search='?'+Math.random();
caching不被绕过,所以页面的所有元素都将从caching中加载,但是主页面本身被迫重新加载,因为HTTP需要对服务器的每个唯一查询string/ location.search值进行另一个请求。
如果你的页面本身就是一个使用查询string的应用程序(比如file.cgi?param = xyz&param2 = abc …),那么你将不得不附加到查询string,而不是完全replace它:
if (location.search.length > 1) location.search+='&'+Math.random(); else location.search='?'+Math.random();
我一直在尝试所有这些为了以下情况:我有一个复杂的页面,有一个小客户,客户可以用产品列表保存项目。 现在,我想让客户打开一个新的页面来下载报告,同时保持与开放式手风琴等完整的父页面。
IE8仍然运行XP的客户打开报告窗口后,父页面会出现乱码。 编程是在ASP.NET后面的VB代码。 这个解决scheme为我工作。
Dim proj As String = "<script language=javascript> location.assign('/Projects.aspx'); window.open('Report.aspx?project=" & projid.Text & "&rpt=bill');</script>" Session.Add("AddCart", idx.ToString("N0")) Response.Write(proj)
location.assign用于刷新父页面,而window.open将在新窗口中打开报表。
会话variables用于跟踪应该打开哪个手风琴行。 这是在Page_Load中处理的
If Not Page.IsPostBack Then LoadProjects() If Session("AddCart") IsNot Nothing Then Dim idx As Integer = Session("AddCart") ProjAccordion.SelectedIndex = idx Session.Remove("AddCart") ElseIf Session("CopyProj") IsNot Nothing Then Dim idx As Integer = Session("CopyProj") ProjAccordion.SelectedIndex = idx Session.Remove("CopyProj") End If End If
使用location.href使诀窍http://www.w3schools.com/jsref/prop_loc_href.asp