2013-06-06 15 views
15

Moje iFrame wygląda następująco:Jak ustawić src do elementu iframe za pomocą jQuery?

<iframe id="iframe" name="iframe1" frameborder="0" src=""></iframe> 

A mój skrypt wygląda tak:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#iframe').attr('src',http://google.com); 
}) 
</script> 

Próbowałem zostały również oddanie cudzysłowy wokół URL:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#iframe').attr('src','http://google.com'); 
}) 
</script> 

ale nie jest pracujący.

Czego mi brakuje?

+0

Czy pojawiają się błędy w przeglądarce? – rjg132234

+0

http://jsfiddle.net/SLaks/8JKxh/ – SLaks

Odpowiedz

19

Jeśli spojrzeć na konsoli błędów w przeglądarce, zobaczysz prawdziwy problem:

Refused to display ' https://www.google.com/ ' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

Google nie pozwoli Ci zrobić.

+2

To jest właściwa odpowiedź. Działa, gdy jest używany z innym adresem URL. Próbowałem disney.com i działało dobrze (po dodaniu atrybutów height/width). –

+0

@SLaks - Czy to z metatagu google: ''? –

+0

Tak, Firefox podał podobny błąd: 'Wczytanie zabronione przez X-Frame-Options: https://www.google.com/ nie zezwala na krzyżowe określanie ramek. Dowód: http: // jsfiddle. net/7vuB4/ – nullability

7
<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#iframe').attr('src', 'http://google.com'); 
}) 
</script> 

Brak cudzysłowów na adresie URL.

+0

Hej, przepraszam, że właśnie to zredagowałem. To też nie działa. – Alex

+0

Czy masz pełny kod? A czy twoja przeglądarka daje ci błąd? – rjg132234

1

Wystarczy wywołać funkcję z nazwą IFRAME i żądany adres URL

function loadIframe(iframeName, url) { 
    var $iframe = $('#' + iframeName); 
    if ($iframe.length) { 
     $iframe.attr('src',url); 
     return false; 
    } 
    return true; 
} 

Ex:

loadIframe("iframe1","http://yahoo.com"); 
4

nie wolno ładować www.google.com w iFrame. Wypróbuj za pomocą innego adresu URL.

Load denied by X-Frame-Options: https://www.google.com/ does not permit cross-origin framing.

3
$("#iframe").attr("src","your url"); 

to będzie działać dobrze.

Powiązane problemy