更改窗口位置,然后等待窗口加载?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改窗口位置,然后等待窗口加载?相关的知识,希望对你有一定的参考价值。
忍受我,我是javascript的完全菜鸟:P。所以,我想要做的是使用一个函数来加载一个网页。并且,在完成该功能之后,我希望能够获取页面上某个元素的html代码。到目前为止,这是我的代码:
function change(){
window.location = "www.aWebPage.com"
window.onload = function() {
return document.ID_HERE.outerHTML;
}
}
无论出于何种原因,HTML代码的返回都不起作用,但重定向确实如此。我是否正确地将值返回给函数?还有另一种方法可以使用仅在窗口重定向后才执行的多个函数吗?
答案
每个页面加载都会擦除所有以前的JavaScript,因此您无法执行此操作。您最好的机会是使用ajax加载新页面而不卸载当前页面。但是,只有当两个页面来自同一个域时,这才会起作用,因为security restrictions。
另一答案
window.location之后的代码将不会被执行,因为文档不再存在。
另一答案
这是因为一旦javascript读取window.location,页面就会刷新,并且所有后续代码都不会被执行。为了解决这个问题,我们使用哈希标记和查询字符串。例如,您可以将位置更改为www.awebpage.com#id。然后使用javascript检测查询字符串中的“#id”并执行代码。我在下面写了一个示例:
function change(id){
window.location = "www.aWebPage.com#id=" + id;
}
window.onload = function() {
var hash = window.location.hash;
if (hash.length > 0)
{
var id = hash.replace('#id=','');
return document.id.outerHTML;
}
}
以上是关于更改窗口位置,然后等待窗口加载?的主要内容,如果未能解决你的问题,请参考以下文章