2010-08-23 51 views
0

我有一个iframe,并希望从iframe中的页面获取一些HTML,或者有机会使用jQuery在iframe中更改页面上的HTML。与jQuery跨域 - 在子域上

我用这个代码从iframe的内容:

$('iframe#iframeBB').contents().find('table').each(function() { 
var at = $(this).attr('summary'); 
if (at == "Latest Data") { 
    $('table#main').html($(this).html()); 
} 
}); 

这只要在IFRAME源是在同一个域中工作正常。我的问题是源是在另一个子域。我知道这是违反同源政策,但有没有办法做到这一点?

回答

1

如果它是一个子域名,则必须通过在页面上设置document.domain来让它们在同一个tld上工作。

document.domain = "yourdomain.com" 
+0

谢谢!有效。 – Helge 2010-08-23 09:34:08

0

我认为这样做的唯一途径是让使用服务器端和输出入的iframe页面的HTML输出。

0

document.domain解决方案没有为我工作。但我想通了,你可以允许服务器设置Access-Control-Allow-Origin头允许跨域访问。

你可以这样做,例如如果服务器支持.htaccess文件:

<IfModule mod_headers.c> 
    Header set Access-Control-Allow-Origin "http://REQUESTING.domain" 
    </IfModule>