代码之家  ›  专栏  ›  技术社区  ›  Matthew Dresser

是否可以从Iframe中的页面读取表单值?

  •  0
  • Matthew Dresser  · 技术社区  · 15 年前

    我目前正在调查是否有可能编写一个html/aspx页面,其中包含一个iframe,可以读取文本框中输入的值等。

    一些已知信息包括:

    • 这只需要使用IE 7/8即可
    • 我无法控制iframe中包含的页面

    我用同一个域的嵌套页面尝试了这个方法,效果很好;我可以读取文本框的值并将其显示在messagebox中。当我尝试使用来自不同域的页面时,IE会出现“拒绝访问”错误。

    作为参考,我在iframe中用于访问页面表单元素的代码如下:

    var iframe = document.getElementById("myIframe");
    var textBox = iframe.contentWindow.document.getElementById("txtTest");
    alert(textBox.value);
    

    我明白,出于安全考虑,这在设计上可能是不可能的,但在放弃这个想法之前,我只想先检查一下是否没有解决办法。

    2 回复  |  直到 15 年前
        1
  •  3
  •   mck89    15 年前

    不,只有当iFrame位于主页的同一域中时,您才能访问它们。

        2
  •  1
  •   Darin Dimitrov    15 年前

    AFAIK出于安全原因,您不能从托管在不同域上的IFrame操作父DOM。