1

我正在尝试更改 iframe 中文本框的值。我已经尝试过以各种我能找到的方式使用 GetElementById,但似乎没有任何效果。

我通过使用 Object 数据标签找到了 iframe 的替代方案,但它也有同样的问题。

我的代码或多或少,为了演示而对其进行了一些更改:

 <html>
 <head>

 <title>None</title>

 </head>
 <body>

 <script type="text/javascript">

 function changeValue() {
 var textBox = document.getElementById('userName');
 textBox = "hello!";

 }

 </script>

 <iframe id="myFrame" src="http://www.website.com"></iframe> 

 <input type="button" onclick="changeValue()" value="Submit">

 </body>
 </html>
4

2 回答 2

4

出于安全原因,这是不可能的。

如果您有访问权限,您将能够加载,比如facebook.com在您网站上的 iframe 中,并使用 JavaScript 提取用户详细信息。

于 2013-01-17T12:52:17.780 回答
1

尝试一些类似的东西

document
    .getElementById('myFrame')
    .contentWindow
    .document
    .getElementById('userName')
    .value='hello';

正如其他人指出的那样,这仅在 iframe 内的页面位于同一域中时才有效。

于 2013-01-17T12:59:56.287 回答