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

标签 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");
});

我哪里出错了?

最佳答案

由于same origin policy,您无法访问不同域的内容。查看错误控制台,你会看到错误消息。

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

关于javascript - 使用 Javascript window.open 和 jQuery 提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14533545/

相关文章:

javascript - 谷歌分析事件跟踪代码(单选按钮)

javascript - setTimeout() 并在谷歌地图上放置标记

javascript - 修改复选框change()事件以等待其他操作

javascript - Bootstrap 2 navbars 1 navbar 动态关闭

javascript - 设置jquery中应用css的时间

javascript - 在 Node 中使用 underscore.js

javascript - 随机 css 属性对每个框应用不同的数字

java dom 转义字符

php - 简单 HTML DOM 类的延迟

javascript - React 中的 DOM 与 Refs