有一些网站(不是我的,是第三方的)上面有一个表格。为了使用户不必填写此表单,我想以某种方式用我存储在数据库中的数据预填充它。
假设它看起来像这样:
<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 JavaScript , How to get the body's content of an iframe in Javascript? ,但问题是,当我关注它们时,它说页面内容为空。
我发现这是因为带有表单的页面位于不同的域中,所以网络浏览器不允许它。可以在浏览器中关闭此功能,但我需要它独立于浏览器设置工作。
最佳答案
您无法在简单的网页中执行您所要求的操作。安全限制的存在是有原因的;想象一下,如果恶意用户想要在 iframe 中加载您的银行网站并让您登录。然后,托管页面上的恶意脚本将可以访问您输入凭据、帐户信息等的表单。
正如 @mplungjan 所说,您必须通过从服务器发出请求并代理它们来解决此问题,以便远程内容实际上首先通过您的网站,或者让用户使用插件修改其浏览器环境或小书签。
关于javascript - 在外部网页上预填写表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22541763/