X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fpreview%2Fplugin.js;h=fd6e633118fb23e90bb16c01629df0f6c8aab87b;hb=2f22c0c38f17e75be5541089076885442aaa2377;hp=fc4f694b6d74cfdb7f9aa3a65e2c26cc6e0bf9b9;hpb=7cd80714081a8ffdf4a1a8d2c72f120ed5ef3d6d;p=ckeditor.git diff --git a/_source/plugins/preview/plugin.js b/_source/plugins/preview/plugin.js index fc4f694..fd6e633 100644 --- a/_source/plugins/preview/plugin.js +++ b/_source/plugins/preview/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -13,22 +13,33 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { modes : { wysiwyg:1, source:1 }, canUndo : false, + readOnly : 1, exec : function( editor ) { var sHTML, + config = editor.config, + baseTag = config.baseHref ? '' : '', isCustomDomain = CKEDITOR.env.isCustomDomain(); - if ( editor.config.fullPage ) - sHTML = editor.getData(); + + if ( config.fullPage ) + { + sHTML = editor.getData() + .replace( //, '$&' + baseTag ) + .replace( /[^>]*(?=<\/title>)/, '$& — ' + editor.lang.preview ); + } else { var bodyHtml = ' 0 ) ? '' : ''; + body = editor.document && editor.document.getBody(); + + if ( body ) + { + if ( body.getAttribute( 'id' ) ) + bodyHtml += 'id="' + body.getAttribute( 'id' ) + '" '; + if ( body.getAttribute( 'class' ) ) + bodyHtml += 'class="' + body.getAttribute( 'class' ) + '" '; + } - if ( body.getAttribute( 'id' ) ) - bodyHtml += 'id="' + body.getAttribute( 'id' ) + '" '; - if ( body.getAttribute( 'class' ) ) - bodyHtml += 'class="' + body.getAttribute( 'class' ) + '" '; bodyHtml += '>'; sHTML = @@ -37,9 +48,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license '' + baseTag + '' + editor.lang.preview + '' + - '' + + CKEDITOR.tools.buildStyleHtml( editor.config.contentsCss ) + '' + bodyHtml + editor.getData() + ''; @@ -75,9 +84,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( !isCustomDomain ) { - 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 ); } } };