2010-08-23 32 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>