【问题标题】:Using Javascript window.open and jQuery to submit a form使用 Javascript window.open 和 jQuery 提交表单
【发布时间】:2013-01-10 02:38:07
【问题描述】:

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

我哪里错了?

【问题讨论】:

  • 顺便说一下,p_13838465-p是搜索字段的id属性。搜索按钮是唯一带有“searchsubmit”类的东西......如果你想知道的话。

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    例如:

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

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

    【讨论】:

      猜你喜欢
      • 2012-07-02
      • 2012-07-01
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-18
      • 2015-07-26
      相关资源
      最近更新 更多