Iframe immediately recreated
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.
Kiválasztott megoldás
@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.
Válasz olvasása eredeti szövegkörnyezetben 👍 0Összes válasz (3)
Just created a bugzilla issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1634653
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)
Módosította: cor-el,
Kiválasztott megoldás
@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.