我还没有使用JavaScript进行任何编程,所以甚至不确定自己是否走对了。理想情况下,我想要打开多个窗口,在它们中搜索特定的字符串,然后关闭找不到该字符串的窗口。

此功能仅在一个新窗口中处理一页。它打开的页面确实包含我要查找的单词,但是当我运行它时,返回的字符串找不到。

function open_win() {
    var wnd = window.open("http://www.bartleby.com/123/32.html");

    if (wnd.find("morning")){
        alert("string found");
    }
    else{
        alert("string not found");
    }
}


我修改了这段代码,以包含让页面加载的延迟,但是现在搜索功能似乎无法正常工作。警报从不显示。

function open_win() {
var wnd = window.open("http://www.bartleby.com/123/32.html");

setTimeout(function(){

    if (wnd.find("morning"))
    {
        alert("string found");
    }
    else
    {
        alert("string not found");
    }
},3000);
}

最佳答案

窗口在打开时不包含任何内容。您需要等待它加载。遵循以下原则

function open_win() {
  var wnd = window.open("http://www.bartleby.com/123/32.html");

  wnd.addEventListener("load",function(){
    if (wnd.find("morning")){
      alert("string found");
    }
    else{
      alert("string not found");
    }
  }
}

09-25 21:30