0

我有一个发布到 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 中都返回 null。访问该 iframe 中的元素的最佳方式是什么。(在 chrome 中,当我尝试执行“检查元素”并查看 html 时,我什至看不到该网站的 html)

顺便说一句,我在 MVC4 项目中做这一切

4

2 回答 2

0

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

var body = $('#testFrame').contents().find('body');
于 2012-04-26T15:51:46.033 回答
0

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

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

或者

你必须去服务器端并让你的 php/asp.net 等后端去获取页面并获取它需要的数据。

于 2012-04-26T15:59:50.557 回答