访问 iFrame 中的元素返回空值

Accessing element inside iFrame returning null

本文关键字:返回 空值 元素 iFrame 访问      更新时间:2023-09-26

我有一个发布到iFrame的表单。 iFrame内部的网站是我无法控制的。 但是,我想将iframe内一些图像的显示设置为"无"。

<form id="testForm" method="post" target="testFrame">
  <input type="hidden" name="RequestXML" ID="RequestXML" value="<Request><RedirectURL>Account/TokenRequest</RedirectURL></Request>"
</form>
<iframe id="testFrame" name="testFrame" frameborder="0" style="width:1000px;height:500px">    </iframe>

这是我在页面顶部的脚本:

<script type="text/javascript">
  $(function () {
  $("#testForm").attr("action", "http://externalwebsite.aspx");
  $('#testForm').submit();
  var iframe = document.getElementById('testFrame');
  var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
  //alert($("#testFrame").contents().find("body").html());
  //alert(innerDoc.innerHTML);
  });
</script>

我的两个警报在Chrome,IE和Firefox中都返回空。 访问该 iframe 内部元素的最佳方式是什么?(在Chrome中,当我尝试执行"检查元素"并查看html时,我什至看不到该网站的html)

顺便说一下,我在 MVC4 项目中完成了所有这些工作

假设这不是跨域问题,请尝试:

var body = $('#testFrame').contents().find('body');

由于这个跨域,你有两个选择。

如果您可以访问iframe代码,那么您可以将XDM代码放在那里,也许easyXDM会有所帮助。

你必须去服务器端,让你的PHP/ASP.NET等后端去获取页面并获取它需要的数据。