【问题标题】:How do I change elements of a target page following a window.open()?如何在 window.open() 之后更改目标页面的元素?
【发布时间】:2016-12-21 19:51:58
【问题描述】:

我正在创建一个按钮,单击该按钮将打开一个带有网页 X 的新窗口,其中有一个搜索栏需要自动反映搜索“团队”。

我已经拥有网页 X 的 document.getElementById(),并且我的按钮已经打开网页 X,但是我如何(在 window.open 上)使用第一个运行的脚本在搜索栏中填充“团队”页。

我希望这很清楚,因为我对此有些陌生。

【问题讨论】:

  • “反映搜索”是什么意思?还不清楚“填充搜索栏”是什么意思
  • 您是否 100% 确定您在谈论 Java,而不是 JavaScript?尽管名称相似,但它们是完全不同的技术。
  • @secretwpn 没错,但他可能正在使用jsp... 但是,OP 说“用 java 编写”
  • 他可能会感到困惑......这显然是在谈论 Javascript,因为他使用它的功能,它正在通过文档对象操作 DOM,他说正在运行一个“脚本”......
  • 您好,很抱歉让您感到困惑。我正在使用 Javascript 并操作 DOM

标签: javascript dom element


【解决方案1】:

当您调用 window.open(...) 时,您必须将结果分配给一个变量,然后您可以使用它来操作新窗口内容,并像处理当前窗口一样查找元素。 请注意,在搜索其上的元素之前,您必须等待新窗口加载完毕,因此对于您的 pourpose,最好将该代码放入 onload 回调中:

var theNewWindow = window.open("https://www.youtube.com");
theNewWindow.onload = function() {
    theNewWindow.document.getElementById("masthead-search-term").value = 'team';
};

【讨论】:

  • 您好,感谢您的回复。我进行了这些更改,但现在我收到一个“无法设置属性”值“null..
  • 我做了一个功能性的例子: var entry = prompt("enter shortcut"); if (entry == "yt") { var newWindow = window.open("youtube.com"); var update = newWindow.document.getElementById("masthead-search-term").value = "team" }
猜你喜欢
  • 2019-04-08
  • 2012-10-12
  • 2015-12-01
  • 2018-08-02
  • 2021-09-15
  • 1970-01-01
  • 1970-01-01
  • 2016-02-15
  • 2021-07-27
相关资源
最近更新 更多