X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Flink%2Fdialogs%2Flink.js;h=9cabfea35c01adc7ad3809c05e289ef99c393bfc;hb=fb481ba0a7d298e3e7b9034fcb9f2afdc6e8e796;hp=51f5623ce699bd20b8e4203659af46eff952fc9e;hpb=f0610347140239143439a511ee2bd48cb784f470;p=ckeditor.git diff --git a/_source/plugins/link/dialogs/link.js b/_source/plugins/link/dialogs/link.js index 51f5623..9cabfea 100644 --- a/_source/plugins/link/dialogs/link.js +++ b/_source/plugins/link/dialogs/link.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, 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 */ @@ -245,7 +245,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) // Find out whether we have any anchors in the editor. var anchors = retval.anchors = [], - item; + i, count, item; // For some browsers we set contenteditable="false" on anchors, making document.anchors not to include them, so we must traverse the links manually (#7893). if ( CKEDITOR.plugins.link.emptyAnchorFix ) @@ -261,7 +261,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) else { var anchorList = new CKEDITOR.dom.nodeList( editor.document.$.anchors ); - for ( var i = 0, count = anchorList.count(); i < count; i++ ) + for ( i = 0, count = anchorList.count(); i < count; i++ ) { item = anchorList.getItem( i ); anchors[ i ] = { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) }; @@ -503,6 +503,11 @@ CKEDITOR.dialog.add( 'link', function( editor ) dialog.getValueOf( 'info', 'linkType' ) != 'url' ) return true; + if ( (/javascript\:/).test( this.getValue() ) ) { + alert( commonLang.invalidValue ); + return false; + } + if ( this.getDialog().fakeObj ) // Edit Anchor. return true; @@ -653,7 +658,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) type : 'html', id : 'noAnchors', style : 'text-align: center;', - html : '
' + CKEDITOR.tools.htmlEncode( linkLang.noAnchors ) + '
', + html : '
' + CKEDITOR.tools.htmlEncode( linkLang.noAnchors ) + '
', // Focus the first element defined in above html. focus : true, setup : function( data ) @@ -1159,6 +1164,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) label : linkLang.styles, 'default' : '', id : 'advStyles', + validate : CKEDITOR.dialog.validate.inlineStyle( editor.lang.common.invalidInlineStyle ), setup : setupAdvParams, commit : commitAdvParams } @@ -1327,14 +1333,15 @@ CKEDITOR.dialog.add( 'link', function( editor ) } + var selection = editor.getSelection(); + // Browser need the "href" fro copy/paste link to work. (#6641) attributes.href = attributes[ 'data-cke-saved-href' ]; if ( !this._.selectedElement ) { // Create element if current selection is collapsed. - var selection = editor.getSelection(), - ranges = selection.getRanges( true ); + var ranges = selection.getRanges( true ); if ( ranges.length == 1 && ranges[0].collapsed ) { // Short mailto link text view (#5736). @@ -1371,6 +1378,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) data.email.address : attributes[ 'data-cke-saved-href' ] ); } + selection.selectElement( element ); delete this._.selectedElement; } },