我是否可以使用javascript字符串中的内容触发完整的网页重新加载
Can I trigger a complete web page reload with content from a javascript string?
这是ajax的"替代流"问题之一。通常我希望我的 ajax 请求返回页面的一部分。但有时它可能会返回带有 html、head 和 body 标签的完整页面。
当我从 ajax 请求返回时,我可以检测这是否是一个完整的页面,但是是否可以根据我拥有的字符串内容触发整页重新加载(具有完整的事件周期)?
(是的,我尝试替换 body 元素,但这不会给我事件,也不允许我更改头部块中的内容)
任何框架引用都可以
我认为不可能直接做。
您最好将 HTML 保存在某个地方并发回一个可以检索它的 URL,然后使用 location.href = ...
;
您可以根据 AJAX 请求的 HTTP 状态代码决定如何处理该请求。
如果您收到 301("永久移动"),您可以使用 window.location
进行重定向:
new Ajax.Request(url, {
method: 'get',
// status 200: yadaa
onSuccess: function(transport) {
// doSomething
},
// status 301: moved permanently
on301: function(transport){
window.location = transport.responseText;
}
});
至少在 Firefox 中,你可以使用 window.location 属性。位置对象包含有关文档 URL 的信息,并提供更改该 URL 的方法。还可以分配给此属性以加载另一个 URL。
文档中的示例:
Replace the current document with the one at the given URL:
function goMoz() {
window.location = "http://www.mozilla.org";
}
// in html: <button onclick="goMoz();">Mozilla</button>
window.location = "same-url-as-im-at.aspx";
...?
要直接使用 HTML 文档来做到这一点,如果我是你,我会拼命避免,因为你在原始问题中略读了
相关文章:
- 数据表 AJAX 筛选器重新加载数据
- 无法在单个网页上加载所有谷歌图表;我是不是错过了什么
- 无法使用JavaScript在网页上加载XML文档
- 如何在新加载的页面上执行(下拉)操作
- 根据上一个选项卡的选择器重新加载选项卡
- 在浏览器工具中加载 JSON 数据,但不在网页上加载
- 创建一个浏览器以在 ASP.NET 的网页中加载网站
- 获得“中止,因为不接受 0”并使用反应热加载器重新加载整页
- 为什么按钮会导致我的整个网页重新加载
- 在网页上加载闪光横幅后添加cookie
- 咕噜咕噜的手表:实时加载重新加载落后 1 步....
- jquery无法在WordPress/网页上加载
- 如何知道网页已加载
- 未在网页上加载的滑块
- 如何在网页首次加载时向地图添加标记
- 网页字体加载器 - 加载所有字体时
- 使用jquery使网页在加载时需要很长时间
- 使网页等待加载以识别帧 ID
- 如何为新加载的元素提供JQuery UI工具提示
- 如何确定网页中加载的 JS 文件的真实层次结构