使用Javascript填写在线表格

时间:2014-08-24 15:34:36

标签: javascript html forms iframe

我正在使用Javascript填写维基百科登录页面(“https://en.wikipedia.org/w/index.php?title=Special:UserLogin”)。我目前的代码是:

function crossDomainPost() {
  // Add the iframe with a unique name
  var iframe = document.createElement("iframe");
  var uniqueString = "UniqueiFrameName";
  document.body.appendChild(iframe);
  //iframe.style.display = "none";
  iframe.contentWindow.name = uniqueString;
  iframe.height = 400;
  iframe.width = 600;

  // construct a form with hidden inputs, targeting the iframe
  var form = document.createElement("form");
  form.target = uniqueString;
  form.action = "https://en.wikipedia.org/w/index.php?title=Special:UserLogin";
  form.method = "POST";

  // parameter: username
  var input1 = document.createElement("input");
  input1.type = "hidden";
  input1.name = "wpName";
  input1.value = "MY_USERNAME";
  form.appendChild(input1);

  // parameter: password
  var input2 = document.createElement("input");
  input2.type = "password";
  input2.name = "wpPassword";
  input2.value = "MY_PASSWORD";
  form.appendChild(input2);

  document.body.appendChild(form);
  form.submit();
}

显然,由于同源策略,iframe是空的,除非我使用聪明的Chrome扩展程序。但是,当我启用扩展并允许加载iframe时,将填充用户名字段,但密码字段不会填充。

有谁知道为什么会这样?

提前致谢, SF。

编辑:另外,我知道有一个MediaWiki API,我已经将其用于我的其余代码,但是无法通过JSONP检索所需的“登录令牌”,因此这不是一个选项。

0 个答案:

没有答案