Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Lolu chungechunge lwabekwa kunqolobane. Uyacelwa ubuze umbuzo omusha uma udinga usizo.

Iframe immediately recreated

  • 3 uphendule
  • 1 inale nkinga
  • 2 views
  • Igcine ukuphendulwa ngu CzBiX

more options

https://jsfiddle.net/4cd3u0fL/1/

Steps to reproduce click the button

What is expected? Show text in iframe and output [true, true]

What is actually happening? iframe is empty, and output [true, false] in Firefox

This demo works in Chrome, but failed on Firefox v75-76.

Isisombululo esikhethiwe

@cor-el Thanks. Please have a look at this issue: https://bugzilla.mozilla.org/show_bug.cgi?id=543435

If your PC is a little bit slow, you will see the iframe show content first, then changed to blank.

Funda le mpendulo ngokuhambisana nalesi sihloko 👍 0

All Replies (3)

more options
more options

In Firefox the result.insertAdjacentHTML immediately returns and doesn't wait until the iframe has been created. It works if I place the code in the timeout function.

function haha() {
  console.log('haha')
  const result = document.querySelector('#result')
  
  result.insertAdjacentHTML('beforebegin',  '<iframe id="iframe"></iframe>')
  
 setTimeout(() => {
 const el = document.querySelector('#iframe')
  const doc = el.contentDocument
  
  doc.body.innerHTML = 'Something'

result.innerHTML = [
      el === document.querySelector('#iframe'),
      doc === document.querySelector('#iframe').contentDocument, 
    ].join(',')
  }, 0)
}

const btn = document.querySelector('button')
btn.addEventListener('click', haha)

Okulungisiwe ngu cor-el

more options

Isisombululo Esikhethiwe

@cor-el Thanks. Please have a look at this issue: https://bugzilla.mozilla.org/show_bug.cgi?id=543435

If your PC is a little bit slow, you will see the iframe show content first, then changed to blank.