X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fpreview%2Fplugin.js;h=fd6e633118fb23e90bb16c01629df0f6c8aab87b;hb=2f22c0c38f17e75be5541089076885442aaa2377;hp=2238f920e74e09653a7279a91ad0a4e16e1c8702;hpb=ea7e3453c7b0f023b050aca6d9f83ab372860d91;p=ckeditor.git
diff --git a/_source/plugins/preview/plugin.js b/_source/plugins/preview/plugin.js
index 2238f92..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,
- isCustomDomain = CKEDITOR.env.ie && document.domain != window.location.hostname;
- if ( editor.config.fullPage )
- sHTML = editor.getData();
+ config = editor.config,
+ baseTag = config.baseHref ? '' : '',
+ isCustomDomain = CKEDITOR.env.isCustomDomain();
+
+ 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,7 +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() +
'';
@@ -73,8 +84,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
if ( !isCustomDomain )
{
- 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 );
}
}
};