使用Javascript window.open和jQuery提交表单

时间:2013-01-26 03:28:21

标签: javascript jquery dom window.open new-window

我想使用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");
});

我哪里错了?

2 个答案:

答案 0 :(得分:1)

由于same origin policy,您无法访问其他域的内容。查看错误控制台,您将看到错误消息。

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

答案 1 :(得分:0)

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

例如:

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

Page1.html无法对yahoo.com采取任何行动