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 );
}
}
};