X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fpreview%2Fplugin.js;fp=_source%2Fplugins%2Fpreview%2Fplugin.js;h=2238f920e74e09653a7279a91ad0a4e16e1c8702;hb=ea7e3453c7b0f023b050aca6d9f83ab372860d91;hp=0000000000000000000000000000000000000000;hpb=b93873b6532ee7515fb0d6f8b73176c44fad28f7;p=ckeditor.git diff --git a/_source/plugins/preview/plugin.js b/_source/plugins/preview/plugin.js new file mode 100644 index 0000000..2238f92 --- /dev/null +++ b/_source/plugins/preview/plugin.js @@ -0,0 +1,97 @@ +/* +Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +/** + * @file Preview plugin. + */ + +(function() +{ + var previewCmd = + { + modes : { wysiwyg:1, source:1 }, + canUndo : false, + exec : function( editor ) + { + var sHTML, + isCustomDomain = CKEDITOR.env.ie && document.domain != window.location.hostname; + if ( editor.config.fullPage ) + sHTML = editor.getData(); + else + { + var bodyHtml = ' 0 ) ? '' : ''; + + if ( body.getAttribute( 'id' ) ) + bodyHtml += 'id="' + body.getAttribute( 'id' ) + '" '; + if ( body.getAttribute( 'class' ) ) + bodyHtml += 'class="' + body.getAttribute( 'class' ) + '" '; + bodyHtml += '>'; + + sHTML = + editor.config.docType + + '' + + '' + + baseTag + + '' + editor.lang.preview + '' + + '' + + '' + bodyHtml + + editor.getData() + + ''; + } + + var iWidth = 640, // 800 * 0.8, + iHeight = 420, // 600 * 0.7, + iLeft = 80; // (800 - 0.8 * 800) /2 = 800 * 0.1. + try + { + var screen = window.screen; + iWidth = Math.round( screen.width * 0.8 ); + iHeight = Math.round( screen.height * 0.7 ); + iLeft = Math.round( screen.width * 0.1 ); + } + catch ( e ){} + + var sOpenUrl = ''; + if ( isCustomDomain ) + { + window._cke_htmlToLoad = sHTML; + sOpenUrl = 'javascript:void( (function(){' + + 'document.open();' + + 'document.domain="' + document.domain + '";' + + 'document.write( window.opener._cke_htmlToLoad );' + + 'document.close();' + + 'window.opener._cke_htmlToLoad = null;' + + '})() )'; + } + + 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 ) + { + oWindow.document.write( sHTML ); + oWindow.document.close(); + } + } + }; + + var pluginName = 'preview'; + + // Register a plugin named "preview". + CKEDITOR.plugins.add( pluginName, + { + init : function( editor ) + { + editor.addCommand( pluginName, previewCmd ); + editor.ui.addButton( 'Preview', + { + label : editor.lang.preview, + command : pluginName + }); + } + }); +})();