如何访问从其他域(FTP)加载的iframe元素

时间:2012-09-05 14:26:15

标签: jquery html iframe

我正在尝试使用以下代码从不同的域加载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

我该怎么做?请帮帮我

2 个答案:

答案 0 :(得分:1)

由于same origin policy施加的安全限制,您无法执行此操作。

答案 1 :(得分:1)

只有当其他域的服务器通过设置access control headers将您的域名置于白名单或允许从任何域进行跨域访问时,才能执行此操作。

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

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