2013-09-16 2 views
0

У меня есть скрипт, который обрабатывает что-то в содержимом фреймов. Я хочу, кроме iframe, из других доменов (кросс-доменов) или фильтра iframe того же домена.Javascript/jQuery - проверка iframe на других доменах

function isCrossDomain(ifr) { 
    // what i need 
    // Return true or false 
} 


if (! isCrossDomain(ifr)) { 
    var doc = ifr.contents(); 
} 
+0

http://blog.cakemail.com/the-iframe-cross-domain-policy-problem/ –

+0

Проверьте это [ссылка] (http://stackoverflow.com/questions/44359/how-do -i-get-the-current-location-of-an-iframe), похоже, если вы ссылаетесь на href домена, который не является вашим собственным, он вызовет исключение. Это исключение может быть все, что вам нужно, чтобы написать свою функцию. – rfoo

ответ

0
<iframe name="myFrame" id="myFrame" src="child.html" style="height: 50%; width: 50%;" onload="checkForCross()"></iframe> 

function checkForCross() 
{ 
    var iframe = document.getElementById("myFrame"); 
    var loc = iframe.contentDocument.location.href; 

} 
0

Я надеюсь, что я правильно вас понимание. Просто соберите iframes, которые соответствуют вашему условному. Давайте просто скажем в этом случае, его yourdomain.com

Как только у вас есть коллекция совпадений, вы можете извлечь из них содержимое().

Вы можете создать регулярное выражение, чтобы захватить подходящее вам совпадение.

var iFRMS = jQuery('body').find('iframe').map(function(n, i){ 
    if (jQuery(i).prop('src').match('yourdomain.com')){ 
     return this; 
    } 
}); 
Смежные вопросы