X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fpreview%2Fplugin.js;h=3132a45a965ed46e1639088ea8618bcad4ccc3eb;hb=a272c66d841421f8bf933c16535bdcde1c4649fc;hp=12a1683e5341c33a2c3550aebfc9c77921a28d57;hpb=48b1db88210b4160dce439c6e3e32e14af8c106b;p=ckeditor.git diff --git a/_source/plugins/preview/plugin.js b/_source/plugins/preview/plugin.js index 12a1683..3132a45 100644 --- a/_source/plugins/preview/plugin.js +++ b/_source/plugins/preview/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -9,10 +9,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license (function() { + var pluginPath; + var previewCmd = { modes : { wysiwyg:1, source:1 }, canUndo : false, + readOnly : 1, exec : function( editor ) { var sHTML, @@ -78,14 +81,26 @@ For licensing, see LICENSE.html or http://ckeditor.com/license '})() )'; } + // With Firefox only, we need to open a special preview page, so + // anchors will work properly on it. (#9047) + if ( CKEDITOR.env.gecko ) + { + window._cke_htmlToLoad = sHTML; + sOpenUrl = pluginPath + 'preview.html'; + } + var oWindow = window.open( sOpenUrl, null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft ); - if ( !isCustomDomain ) + if ( !isCustomDomain && !CKEDITOR.env.gecko ) { - oWindow.document.open(); - oWindow.document.write( sHTML ); - oWindow.document.close(); + var doc = oWindow.document; + doc.open(); + doc.write( sHTML ); + doc.close(); + + // Chrome will need this to show the embedded. (#8016) + CKEDITOR.env.webkit && setTimeout( function() { doc.body.innerHTML += ''; }, 0 ); } } }; @@ -97,6 +112,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { init : function( editor ) { + pluginPath = this.path; + editor.addCommand( pluginName, previewCmd ); editor.ui.addButton( 'Preview', {