SORU
29 Mayıs 2009, Cuma


Nasıl vücut'in içeriğini almak için Javascript ile bir iframe?

<iframe id="id_description_iframe" class="rte-zone" height="200" frameborder="0" title="description">
  <html>
    <head></head>
    <body class="frameBody">
      test<br/>
    </body>
  </html>
</iframe>

Almak istediğim şey:

test<br/>

CEVAP
19 HAZİRAN 2012, Salı


Tam soru bir WordPress kullanmak değil, saf JavaScript ile bunu yapmak için nasıl.

Ben her zaman bir WordPress kullanmak kaynak kodu bulunabilir çözümü kullanın. Sadece bir satır ve saf JavaScript.

Benim için en iyi ve iframe içeriği almak için en kısa yol bile değil.

Önce senin iframe:

var iframe = document.getElementById('id_description_iframe');

// or
var iframe = document.querySelector('#id_description_iframe');

Ve sonra bir WordPress kullanmak çözüm kullanın:

var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;

iframe nesne contentWindow özelliği sırasında hile yapar hatta Internet Explorer çalışır. Diğer birçok tarayıcılar contentDocument özelliği kullanır ve biz bu özelliği ilk YA da bu durumda kanıt nedeni de budur. Eğer ayarlanırsa değil contentWindow.document deneyin.

Ve sonra genellikle getElementById() hatta querySelectorAll() iframeDocument bir DOM Öğesi seçmek için kullanabilirsiniz:

var iframeContent;

if (iframeDocument) {
    iframeContent = iframeDocument.getElementById('frameBody');

    // or
    iframeContent = iframeDocument.querySelectorAll('#frameBody');
}

İframe içinde çağrı işlevleri

iframe window eleman fonksiyonlar, değişkenler ya da tüm kütüphaneler (*20 örneğin*) bazı küresel diyebilir:

var iframeWindow = iframe.contentWindow;

if (iframeWindow) {
    // you can even call jQuery or other frameworks if it is loaded inside the iframe
    iframeContent = iframeWindow.jQuery('#frameBody');

    // or
    iframeContent = iframeWindow.$('#frameBody');

    // or even use any other global variable
    iframeWindow.inside_iframe_variable = window.outside_iframe_variable;
}

Not

Tüm bu same-origin policy dikkat ederseniz mümkündür.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010