我想使用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");
});
我哪里错了?
答案 0 :(得分:1)
由于same origin policy,您无法访问其他域的内容。查看错误控制台,您将看到错误消息。
如果您控制了其他域,则可以查看CORS。另一种选择是服务器端代理。另一种选择是像Yahoo Pipes这样的服务,并进行JSONP调用。
答案 1 :(得分:0)
您无法使用其他网页javascript控制新窗口。
例如:
Page1.html使用window.open
打开yahoo.com
Page1.html无法对yahoo.com采取任何行动