📄 fck_link.js
字号:
var dialog = window.parent ;
var oEditor = dialog.InnerDialogLoaded() ;
var FCK = oEditor.FCK ;
var FCKLang = oEditor.FCKLang ;
var FCKConfig = oEditor.FCKConfig ;
var FCKRegexLib = oEditor.FCKRegexLib ;
var FCKTools = oEditor.FCKTools ;
// Function called when a dialog tag is selected.
function OnDialogTabChange( tabCode )
{
dialog.SetAutoSize( true ) ;
}
//#### Initialization Code
// oLink: The actual selected link in the editor.
var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;
if ( oLink )
FCK.Selection.SelectNode( oLink ) ;
window.onload = function()
{
// Translate the dialog box texts.
oEditor.FCKLanguageManager.TranslatePage(document) ;
// Load the selected link information (if any).
LoadSelection() ;
// Set the default target (from configuration).
SetDefaultTarget() ;
// Activate the "OK" button.
dialog.SetOkButton( true ) ;
SelectField( 'txtUrl' ) ;
}
function LoadSelection()
{
if ( !oLink ) return ;
// Get the actual Link href.
var sHRef = oLink.getAttribute( '_fcksavedurl' ) ;
if ( sHRef == null )
sHRef = oLink.getAttribute( 'href' , 2 ) || '' ;
GetE('txtUrl').value = sHRef ;
// Get the target.
var sTarget = oLink.target ;
if ( sTarget && sTarget.length > 0 )
{
sTarget = sTarget.toLowerCase() ;
GetE('cmbTarget').value = sTarget ;
}
}
//#### The OK button was hit.
function Ok()
{
var sUri, sInnerHtml ;
oEditor.FCKUndo.SaveUndoStep() ;
sUri = GetE('txtUrl').value ;
if ( sUri.length == 0 )
{
alert( FCKLang.DlnLnkMsgNoUrl ) ;
return false ;
}
// If no link is selected, create a new one (it may result in more than one link creation - #220).
var aLinks = oLink ? [ oLink ] : oEditor.FCK.CreateLink( sUri, true ) ;
// If no selection, no links are created, so use the uri as the link text (by dom, 2006-05-26)
var aHasSelection = ( aLinks.length > 0 ) ;
if ( !aHasSelection )
{
sInnerHtml = sUri;
/*
//这里被过滤掉前面的协议类型了,还是保留的好 by angel
var oLinkPathRegEx = new RegExp("//?([^?\"']+)([?].*)?$") ;
var asLinkPath = oLinkPathRegEx.exec( sUri ) ;
if (asLinkPath != null)
sInnerHtml = asLinkPath[1]; // use matched path
*/
// Create a new (empty) anchor.
aLinks = [ oEditor.FCK.InsertElement( 'a' ) ] ;
}
for ( var i = 0 ; i < aLinks.length ; i++ )
{
oLink = aLinks[i] ;
if ( aHasSelection )
sInnerHtml = oLink.innerHTML ; // Save the innerHTML (IE changes it if it is like an URL).
oLink.href = sUri ;
SetAttribute( oLink, '_fcksavedurl', sUri ) ;
oLink.innerHTML = sInnerHtml ; // Set (or restore) the innerHTML
// Target
SetAttribute( oLink, 'target', GetE('cmbTarget').value ) ;
}
// Select the (first) link.
oEditor.FCKSelection.SelectNode( aLinks[0] );
return true ;
}
function SetUrl( url )
{
document.getElementById('txtUrl').value = url ;
}
function SetDefaultTarget()
{
var target = FCKConfig.DefaultLinkTarget || '' ;
if ( oLink || target.length == 0 )
return ;
GetE('cmbTarget').value = target ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -