From ff17526a0c6a8c8e962a81f8e8b6a3f44053fef1 Mon Sep 17 00:00:00 2001 From: Jason Woofenden Date: Tue, 8 Mar 2016 11:18:05 -0500 Subject: [PATCH] work around bug in firefox (nested iframe onload) --- editor.coffee | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/editor.coffee b/editor.coffee index 440bb3e..370f2a1 100644 --- a/editor.coffee +++ b/editor.coffee @@ -564,6 +564,7 @@ class PeachHTML5Editor if @options.editor_id? @outer_iframe.setAttribute 'id', @options.editor_id @outer_iframe.onload = => + console.log 'outer onload' @outer_idoc = @outer_iframe.contentDocument icss = domify @outer_idoc, style: children: [ domify @outer_idoc, text: css @@ -572,6 +573,7 @@ class PeachHTML5Editor @iframe = domify @outer_idoc, iframe: {} @iframe.onload = => @init() + setTimeout (=> @init()), 200 # firefox never fires this onload @outer_idoc.body.appendChild( domify @outer_idoc, div: id: 'wrap1', children: [ domify @outer_idoc, div: id: 'wrap2', children: [ @@ -593,7 +595,8 @@ class PeachHTML5Editor @outer_iframe.setAttribute 'style', outer_iframe_style css = outer_css w: outer_bounds.w, h: outer_bounds.h outer_wrap.appendChild @outer_iframe - init: -> # called by @iframe's onload + init: -> # called by @iframe's onload (or timeout on firefox) + return if @initialized # ignore timeout for non-broken browsers @idoc = @iframe.contentDocument @overlay.onclick = (e) => return @onclick e -- 1.7.10.4