X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fclipboard%2Fdialogs%2Fpaste.js;h=93edc0d8fabbed6292172a5ee4dee5d3335e209e;hb=48b1db88210b4160dce439c6e3e32e14af8c106b;hp=2bc3142b6f0255d6f5d4628a1fd50112f262dd07;hpb=039a051ccf3901311661022a30afd60fc38130c9;p=ckeditor.git diff --git a/_source/plugins/clipboard/dialogs/paste.js b/_source/plugins/clipboard/dialogs/paste.js index 2bc3142..93edc0d 100644 --- a/_source/plugins/clipboard/dialogs/paste.js +++ b/_source/plugins/clipboard/dialogs/paste.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -13,7 +13,8 @@ CKEDITOR.dialog.add( 'paste', function( editor ) var doc = new CKEDITOR.dom.document( win.document ), docElement = doc.$; - doc.getById( 'cke_actscrpt' ).remove(); + var script = doc.getById( 'cke_actscrpt' ); + script && script.remove(); CKEDITOR.env.ie ? docElement.body.contentEditable = "true" : @@ -74,18 +75,24 @@ CKEDITOR.dialog.add( 'paste', function( editor ) '' + ''; + var src = + CKEDITOR.env.air ? + 'javascript:void(0)' : + isCustomDomain ? + 'javascript:void((function(){' + + 'document.open();' + + 'document.domain=\'' + document.domain + '\';' + + 'document.close();' + + '})())"' + : + ''; + var iframe = CKEDITOR.dom.element.createFromHtml( '' ); iframe.on( 'load', function( e ) - { - e.removeListener(); - var doc = iframe.getFrameDocument().$; - // Custom domain handling is needed after each document.open(). - doc.open(); - if ( isCustomDomain ) - doc.domain = document.domain; - doc.write( htmlToLoad ); - doc.close(); - }, this ); + { + e.removeListener(); + + var doc = iframe.getFrameDocument(); + doc.write( htmlToLoad ); + + if ( CKEDITOR.env.air ) + onPasteFrameLoad.call( this, doc.getWindow().$ ); + }, + this ); iframe.setCustomData( 'dialog', this );