From 4c6624a48805700f40b29949eb3358f6cfca76c2 Mon Sep 17 00:00:00 2001 From: wonknu10 Date: Thu, 3 Nov 2016 18:05:36 +0100 Subject: [PATCH] fix: iframe onload event before inject iframe on fiirefox bug if there are image with 404 status because iframe is not yet ready --- .../public/scripts/modules/EditorReload.js | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/src/server/public/scripts/modules/EditorReload.js b/src/server/public/scripts/modules/EditorReload.js index ad94a9fb..dca56b3c 100755 --- a/src/server/public/scripts/modules/EditorReload.js +++ b/src/server/public/scripts/modules/EditorReload.js @@ -54,24 +54,26 @@ export default class Reload { inject(str) { var iframe = document.querySelector('#page-template') - var iframeBody = IframeDocument('#page-template').body - var scrollTop = iframeBody.scrollTop - - var doc = iframe.contentWindow.document - str = str.replace(/<\/head>/, '') - var template = Handlebars.compile(str, {noEscape: true}) - str = template(json) - doc.open() - doc.write(str) - doc.close() + iframe.onload = function() { + var iframeBody = IframeDocument('#page-template').body + var scrollTop = iframeBody.scrollTop - setTimeout(function () { - var iframeDoc = IframeDocument('#page-template') - if(typeof iframeDoc !== 'undefined' && iframeDoc !== null - && typeof iframeDoc.body !== 'undefined' && iframeDoc.body !== null) { - iframeDoc.body.scrollTop = scrollTop - } - }, 1000) + var doc = iframe.contentWindow.document + str = str.replace(/<\/head>/, '') + var template = Handlebars.compile(str, {noEscape: true}) + str = template(json) + doc.open() + doc.write(str) + doc.close() + + setTimeout(function () { + var iframeDoc = IframeDocument('#page-template') + if(typeof iframeDoc !== 'undefined' && iframeDoc !== null + && typeof iframeDoc.body !== 'undefined' && iframeDoc.body !== null) { + iframeDoc.body.scrollTop = scrollTop + } + }, 1000) + } } reload() {