SORU
2 Mayıs 2012, ÇARŞAMBA


Verilen dinamik olarak HTML ile iframe oluşturma

JavaScript ile bir iframe oluşturmak ve keyfi HTML ile bu şekilde doldurmaya çalışıyorum:

var html = '<body>Foo</body>';
var iframe = document.createElement('iframe');
iframe.src = 'data:text/html;charset=utf-8,'   encodeURI(html);

iframe o zaman geçerli pencere ve belge içermesi beklenir. Ancak, bu durum böyle değil:

null

Kendiniz deneyin: http://jsfiddle.net/TrevorBurnham/9k9Pe/

Neyi es geçiyorum?

CEVAP
3 Mayıs 2012, PERŞEMBE


src = encodeURI çalışması gerekir olmasına rağmen, farklı bir şekilde giderdim:

var iframe = document.createElement('iframe');
var html = '<body>Foo</body>';
document.body.appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(html);
iframe.contentWindow.document.close();

Bu x-etki hiçbir koltuk vardır ve tamamen iframe kolu ile yapılır, ve çerçeve içeriğini daha sonra erişim manipüle. Emin olun (tarayıcı türüne bağlı olarak) sırasında/sonrasında başlayacak olan içeriğini hale getirilmiş .komutu yazınamanescessarily close() çağrıldığında bitmiş değil.

Bir geri arama yaparken 0 uyumlu bir şekilde bu yaklaşım olabilir:

<html><body onload="parent.myCallbackFunc(this.window)"></html>

İframe yüklendiğinde olay, ancak vardır. Burada DOM gibi iç html erişmek için bir yaklaşım (js):

iframe.onload = function() {
   var div=iframe.contentWindow.document.getElementById('mydiv');
};

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007
  • ShoSho

    ShoSho

    20 Ocak 2010