【问题标题】:Prefilling form on extern webpage在外部网页上预填表格
【发布时间】:2014-04-27 19:36:39
【问题描述】:

有一些网站(不是我的,是第三方的)上面有表格。为了让用户不必填写此表单,我想以某种方式预先填写我存储在数据库中的数据。

假设它看起来像这样:

<form id='form1'>
  <input type='text' id='input1' />
  <input type='submit' />
</form>

我认为一个解决方案是创建我的网页,并在其上创建一个 iframe,其中包含我要填写的表单。

<iframe id='myFrame' src='http://www.someSite.html'>

我在这里遵循了一些关于如何访问 iframe 中的内容的建议:Getting Contents of Iframe with Pure JavaScriptHow to get the body's content of an iframe in Javascript?,但问题是,当我关注它们时,它说页面的内容为空。

我发现这是因为带有表单的页面位于不同的域中,所以网络浏览器不允许这样做。可以在浏览器中关闭它,但我需要它独立于浏览器设置工作。

【问题讨论】:

  • 您只能使用服务器上的代理或书签来完成
  • 通常网站会在 URL 中使用相应的查询字符串数据填充表单字段,试试看。例如:http://www.someSite.html?text=UserInputHere 不适用于所有表单,但可能适用于您的表单。

标签: javascript html forms iframe


【解决方案1】:

你不能在一个简单的网页中做你所要求的。安全限制的存在是有原因的;想象一下,如果恶意用户想要在 iframe 中加载您的银行网站并让您登录。然后,托管页面上的恶意脚本可以访问您输入凭据、帐户信息等的表单。

正如@mplungjan 所说,您必须通过从您的服务器发出请求并代理它们来解决此问题,以便远程内容实际上首先通过您的站点,或者让用户使用插件修改他们的浏览器环境或书签。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 2014-07-15
    相关资源
    最近更新 更多