0

我正在尝试使用以下代码从不同域加载 html 页面,

  var str = "http://***_Images/";
  $('body').append('<iframe id="iframe" style="position:fixed;' +
  + 'top:0px;left:0px;width:100%;height:100%" src="' 
  + str +   
  $('#htmNum').val() + '.html"></iframe>');

但是当我尝试使用下面的代码访问该 iframe 中的元素时,我无法访问

  $('#iframe').contents().find('img').length // Returns me nothing

我怎样才能做到这一点。请帮助我

4

2 回答 2

1

由于同源策略施加的安全限制,您不能这样做。

于 2012-09-05T14:27:32.090 回答
1

仅当其他域的服务器通过设置访问控制标头将您的域置于白名单或允许从任何域的跨域访问来进行合作时,您才能执行此操作。

另一种解决方案涉及一个中间服务器(您的服务器将是最简单的)充当代理查询其他域服务器以让浏览器只看到一个域。

请注意,其他域服务器所有者可能认为第二种解决方案不正确(或合法)。你应该检查这一点。

于 2012-09-05T14:29:03.930 回答