⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fck_link.js

📁 小蜜蜂商务网站门户系统(BBWPS)平台系统 v1.0 Build 061113
💻 JS
📖 第 1 页 / 共 2 页
字号:
/* * FCKeditor - The text editor for internet * Copyright (C) 2003-2005 Frederico Caldeira Knabben *  * Licensed under the terms of the GNU Lesser General Public License: * 		http://www.opensource.org/licenses/lgpl-license.php *  * For further information visit: * 		http://www.fckeditor.net/ *  * "Support Open Source software. What about a donation today?" *  * File Name: fck_link.js * 	Scripts related to the Link dialog window (see fck_link.html). *  * File Authors: * 		Frederico Caldeira Knabben (fredck@fckeditor.net) */var oEditor		= window.parent.InnerDialogLoaded() ;var FCK			= oEditor.FCK ;var FCKLang		= oEditor.FCKLang ;var FCKConfig	= oEditor.FCKConfig ;//#### Dialog Tabs// Set the dialog tabs.window.parent.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;if ( !FCKConfig.LinkDlgHideTarget )	window.parent.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;if ( FCKConfig.LinkUpload )	window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;if ( !FCKConfig.LinkDlgHideAdvanced )	window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;// Function called when a dialog tag is selected.function OnDialogTabChange( tabCode ){	ShowE('divInfo'		, ( tabCode == 'Info' ) ) ;	ShowE('divTarget'	, ( tabCode == 'Target' ) ) ;	ShowE('divUpload'	, ( tabCode == 'Upload' ) ) ;	ShowE('divAttribs'	, ( tabCode == 'Advanced' ) ) ;}//#### Regular Expressions library.var oRegex = new Object() ;oRegex.UriProtocol = new RegExp('') ;oRegex.UriProtocol.compile( '^(((http|https|ftp|news):\/\/)|mailto:)', 'gi' ) ;oRegex.UrlOnChangeProtocol = new RegExp('') ;oRegex.UrlOnChangeProtocol.compile( '^(http|https|ftp|news)://(?=.)', 'gi' ) ;oRegex.UrlOnChangeTestOther = new RegExp('') ;//oRegex.UrlOnChangeTestOther.compile( '^(javascript:|#|/)', 'gi' ) ;oRegex.UrlOnChangeTestOther.compile( '^((javascript:)|[#/\.])', 'gi' ) ; oRegex.ReserveTarget = new RegExp('') ;oRegex.ReserveTarget.compile( '^_(blank|self|top|parent)$', 'i' ) ;oRegex.PopupUri = new RegExp('') ;oRegex.PopupUri.compile( "^javascript:void\\(\\s*window.open\\(\\s*'([^']+)'\\s*,\\s*(?:'([^']*)'|null)\\s*,\\s*'([^']*)'\\s*\\)\\s*\\)\\s*$" ) ;oRegex.PopupFeatures = new RegExp('') ;oRegex.PopupFeatures.compile( '(?:^|,)([^=]+)=(\\d+|yes|no)', 'gi' ) ;//#### Parser Functionsvar oParser = new Object() ;oParser.ParseEMailUrl = function( emailUrl ){	// Initializes the EMailInfo object.	var oEMailInfo = new Object() ;	oEMailInfo.Address	= '' ;	oEMailInfo.Subject	= '' ;	oEMailInfo.Body		= '' ;	var oParts = emailUrl.match( /^([^\?]+)\??(.+)?/ ) ;	if ( oParts )	{		// Set the e-mail address.		oEMailInfo.Address = oParts[1] ;		// Look for the optional e-mail parameters.		if ( oParts[2] )		{			var oMatch = oParts[2].match( /(^|&)subject=([^&]+)/i ) ;			if ( oMatch ) oEMailInfo.Subject = unescape( oMatch[2] ) ;			oMatch = oParts[2].match( /(^|&)body=([^&]+)/i ) ;			if ( oMatch ) oEMailInfo.Body = unescape( oMatch[2] ) ;		}	}	return oEMailInfo ;}oParser.CreateEMailUri = function( address, subject, body ){	var sBaseUri = 'mailto:' + address ;	var sParams = '' ;	if ( subject.length > 0 )		sParams = '?subject=' + escape( subject ) ;	if ( body.length > 0 )	{		sParams += ( sParams.length == 0 ? '?' : '&' ) ;		sParams += 'body=' + escape( body ) ;	}	return sBaseUri + sParams ;}//#### Initialization Code// oLink: The actual selected link in the editor.var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;if ( oLink )	FCK.Selection.SelectNode( oLink ) ;window.onload = function(){	// Translate the dialog box texts.	oEditor.FCKLanguageManager.TranslatePage(document) ;	// Fill the Anchor Names and Ids combos.	LoadAnchorNamesAndIds() ;	// Load the selected link information (if any).	LoadSelection() ;	// Update the dialog box.	SetLinkType( GetE('cmbLinkType').value ) ;	// Show/Hide the "Browse Server" button.	GetE('divBrowseServer').style.display = FCKConfig.LinkBrowser ? '' : 'none' ;	// Show the initial dialog content.	GetE('divInfo').style.display = '' ;	// Set the actual uploader URL.	if ( FCKConfig.LinkUpload )		GetE('frmUpload').action = FCKConfig.LinkUploadURL ;	// Activate the "OK" button.	window.parent.SetOkButton( true ) ;}var bHasAnchors ;function LoadAnchorNamesAndIds(){	// Since version 2.0, the anchors are replaced in the DOM by IMGs so the user see the icon 	// to edit them. So, we must look for that images now.	var aAnchors = new Array() ;		var oImages = oEditor.FCK.EditorDocument.getElementsByTagName( 'IMG' ) ;	for( var i = 0 ; i < oImages.length ; i++ )	{		if ( oImages[i].getAttribute('_fckanchor') )			aAnchors[ aAnchors.length ] = oEditor.FCK.GetRealElement( oImages[i] ) ;	}		var aIds = oEditor.FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ;	bHasAnchors = ( aAnchors.length > 0 || aIds.length > 0 ) ;	for ( var i = 0 ; i < aAnchors.length ; i++ )	{		var sName = aAnchors[i].name ;		if ( sName && sName.length > 0 )			oEditor.FCKTools.AddSelectOption( document, GetE('cmbAnchorName'), sName, sName ) ;	}	for ( var i = 0 ; i < aIds.length ; i++ )	{		oEditor.FCKTools.AddSelectOption( document, GetE('cmbAnchorId'), aIds[i], aIds[i] ) ;	}	ShowE( 'divSelAnchor'	, bHasAnchors ) ;	ShowE( 'divNoAnchor'	, !bHasAnchors ) ;}function LoadSelection(){	if ( !oLink ) return ;	var sType = 'url' ;	// Get the actual Link href.	var sHRef = oLink.getAttribute( '_fcksavedurl' ) ;	if ( !sHRef || sHRef.length == 0 )		sHRef = oLink.getAttribute( 'href' , 2 ) + '' ;		// TODO: Wait stable version and remove the following commented lines.//	if ( sHRef.startsWith( FCK.BaseUrl ) )//		sHRef = sHRef.remove( 0, FCK.BaseUrl.length ) ;	// Look for a popup javascript link.	var oPopupMatch = oRegex.PopupUri.exec( sHRef ) ;	if( oPopupMatch )	{		GetE('cmbTarget').value = 'popup' ;		sHRef = oPopupMatch[1] ;		FillPopupFields( oPopupMatch[2], oPopupMatch[3] ) ;		SetTarget( 'popup' ) ;	}	// Search for the protocol.	var sProtocol = oRegex.UriProtocol.exec( sHRef ) ;	if ( sProtocol )	{		sProtocol = sProtocol[0].toLowerCase() ;		GetE('cmbLinkProtocol').value = sProtocol ;		// Remove the protocol and get the remainig URL.		var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ;		if ( sProtocol == 'mailto:' )	// It is an e-mail link.		{			sType = 'email' ;			var oEMailInfo = oParser.ParseEMailUrl( sUrl ) ;			GetE('txtEMailAddress').value	= oEMailInfo.Address ;			GetE('txtEMailSubject').value	= oEMailInfo.Subject ;			GetE('txtEMailBody').value		= oEMailInfo.Body ;		}		else				// It is a normal link.		{			sType = 'url' ;			GetE('txtUrl').value = sUrl ;		}	}	else if ( sHRef.substr(0,1) == '#' && sHRef.length > 1 )	// It is an anchor link.	{		sType = 'anchor' ;		GetE('cmbAnchorName').value = GetE('cmbAnchorId').value = sHRef.substr(1) ;	}	else					// It is another type of link.	{		sType = 'url' ;		GetE('cmbLinkProtocol').value = '' ;		GetE('txtUrl').value = sHRef ;	}	if ( !oPopupMatch )	{		// Get the target.		var sTarget = oLink.target ;		if ( sTarget && sTarget.length > 0 )		{			if ( oRegex.ReserveTarget.test( sTarget ) )			{				sTarget = sTarget.toLowerCase() ;				GetE('cmbTarget').value = sTarget ;			}			else				GetE('cmbTarget').value = 'frame' ;			GetE('txtTargetFrame').value = sTarget ;		}	}	// Get Advances Attributes	GetE('txtAttId').value			= oLink.id ;	GetE('txtAttName').value		= oLink.name ;	GetE('cmbAttLangDir').value		= oLink.dir ;	GetE('txtAttLangCode').value	= oLink.lang ;	GetE('txtAttAccessKey').value	= oLink.accessKey ;	GetE('txtAttTabIndex').value	= oLink.tabIndex <= 0 ? '' : oLink.tabIndex ;	GetE('txtAttTitle').value		= oLink.title ;	GetE('txtAttContentType').value	= oLink.type ;	GetE('txtAttCharSet').value		= oLink.charset ;	if ( oEditor.FCKBrowserInfo.IsIE )	{		GetE('txtAttClasses').value	= oLink.getAttribute('className',2) || '' ;		GetE('txtAttStyle').value	= oLink.style.cssText ;	}	else	{		GetE('txtAttClasses').value	= oLink.getAttribute('class',2) || '' ;		GetE('txtAttStyle').value	= oLink.getAttribute('style',2) ;	}	// Update the Link type combo.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -