1

我想使用 window.open 函数在新窗口中加载 yahoo.com。然后,填写搜索字段并使用 jQuery 提交搜索表单。

由于某种原因,以下代码不起作用:

var yhooWin;
var yhooDoc;

function openYahooWindow() {
    yhooWin = window.open("http://yahoo.com","ywin","width=1050,height=750");
    yhooWin.focus();
}

openYahooWindow();
yhooDoc = yhooWin.document;

$(yhooDoc).ready(function () {
    $(yhooDoc).contents().find("#p_13838465-p").val("gangnam style");
    $(yhooDoc).contents().find(".searchsubmit").trigger("click");
});

我哪里错了?

4

2 回答 2

1

由于相同的源策略,您无法访问不同域的内容。查看错误控制台,您将看到错误消息。

如果您控制了另一个域,则可以查看CORS。另一种选择是服务器端代理。另一种选择是像Yahoo Pipes这样的服务并进行 JSONP 调用。

于 2013-01-26T03:30:02.880 回答
0

您无法使用其他页面 javascript 控制新窗口。

例如:

Page1.html 用于window.open打开 yahoo.com

Page1.html 无法对 yahoo.com 执行任何操作

于 2013-01-26T03:32:02.147 回答