页面完全加载后提高警报

时间:2017-03-15 20:34:15

标签: javascript

我想加载stackoverflow page,然后严格地一个接一个地发出警报,而不使用像jQuery等框架。 我已经完成了答案here并访问了this

我在浏览器控制台中运行了以下内容。 页面加载但警报未引发。我在Windows 8.1中使用chrome。

尝试#1:

window.location.href = 'https://stackoverflow.com/';
window.onload = function () { alert("It's loaded!") }

尝试#2:

window.location.href = 'https://stackoverflow.com/';
if(document.readyState === "complete") {
  //Already loaded!
  window.onload = function () { alert("It's loaded!") }
}
else {
  //Add onload or DOMContentLoaded event listeners here: for example,
  window.addEventListener("onload", function () {/* your code here */}, false);
  //or
  //document.addEventListener("DOMContentLoaded", function () {/* code */}, false);
}

尝试#3:

window.location.href = 'https://stackoverflow.com/';
var everythingLoaded = setInterval(function() {
  if (/loaded|complete/.test(document.readyState)) {
    clearInterval(everythingLoaded);
    alert("It's loaded!");
  }
}, 1000);

尝试#4:

尝试了setTimeout(),但也没有。

我也尝试过使用window.location.replace()的上述示例。

我如何使这项工作?

P.S:我是javascript的新手。上面的代码不是我的,但我只是想解决它们。我也没有声称完全理解它们。

1 个答案:

答案 0 :(得分:0)

巴马尔指出这是不可能的。新页面加载将删除旧页面中的所有JavaScript。一些替代方案是:

  • 您可以使用window.open api打开新页面或新标签页并添加事件处理程序。

  • 您可以在一个框架内加载页面(如果它没有任何限制阻止),并向框架添加一个加载事件。

  • 您可以使用XMLHttpRequest(或您选择的库)加载页面,并将结果插入<div>,但并非所有这些都可能有效。

    < / LI>

页面加载后,您没有说出要执行的操作。在大多数情况下(通常除非您拥有第二页),将无法访问第二页上的任何信息。