亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fck_contextmenu.js

?? 一種Portal的實現源碼
?? JS
字號:
/*
 * FCKeditor - The text editor for internet
 * Copyright (C) 2003-2004 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 go to http://www.fredck.com/FCKeditor/ 
 * or contact fckeditor@fredck.com.
 *
 * fck_contextmenu.js: Right click support.
 *
 * Authors:
 *   Frederico Caldeira Knabben (fckeditor@fredck.com)
 */

// Contants
var MENU_SEPARATOR = "" ; // Context menu separator

// The last context menu
var ContextMenu = new Array() ;

// Avaliable context menu options
var GeneralContextMenu		= new Array() ;
var TableContextMenu		= new Array() ;
var LinkContextMenu			= new Array() ;
var BulletedListContextMenu	= new Array() ;

function ContextMenuSeparator()
{
	this.Text = MENU_SEPARATOR ;
}

// Class that represents an item on the context menu
function ContextMenuItem(text, command, commandType)
{
	this.Text			= text ;
	this.Command		= command || "void(0)" ;
	this.CommandType	= commandType || TBCMD_DEC ;
	
	if ( this.Text && this.Text.substr( 0, 2 ) == '##' )
		this.Text = AvailableLangs.GetEntry( this.Text.substr( 2 ) ) ;

	
	switch (this.CommandType)
	{
		case TBCMD_DEC :
			this.Command     = "decCommand(" + command + ")" ;
			this.CommandId   = command ;
			break ;
		case TBCMD_DOC :
			this.Command     = "docCommand('" + command + "')" ;
			this.CommandCode = command ;
			break ;
		default :	// TBCMD_CUSTOM
			this.Command     = command ;
			break ;
	}
}


GeneralContextMenu[0] = new ContextMenuItem(lang["Cut"], DECMD_CUT) ;
GeneralContextMenu[1] = new ContextMenuItem(lang["Copy"], DECMD_COPY) ;
GeneralContextMenu[2] = new ContextMenuItem(lang["Paste"], DECMD_PASTE) ;

if ( config.ShowPreviewContextMenu )
{
	GeneralContextMenu[3] = new ContextMenuSeparator() ;
	GeneralContextMenu[4] = new ContextMenuItem( "##Preview", "preview()", TBCMD_CUSTOM) ;
}

LinkContextMenu[0] = new ContextMenuSeparator() ;
LinkContextMenu[1] = new ContextMenuItem(lang["EditLink"], "dialogLink()", TBCMD_CUSTOM) ;
LinkContextMenu[2] = new ContextMenuItem(lang["RemoveLink"], DECMD_UNLINK) ;

TableContextMenu[0]  = new ContextMenuSeparator() ;
TableContextMenu[1]  = new ContextMenuItem(lang["InsertRow"], DECMD_INSERTROW) ;
TableContextMenu[2]  = new ContextMenuItem(lang["DeleteRows"], DECMD_DELETEROWS) ;
TableContextMenu[3]  = new ContextMenuSeparator() ;
TableContextMenu[4]  = new ContextMenuItem(lang["InsertColumn"], DECMD_INSERTCOL) ;
TableContextMenu[5]  = new ContextMenuItem(lang["DeleteColumns"], DECMD_DELETECOLS) ;
TableContextMenu[6]  = new ContextMenuSeparator() ;
TableContextMenu[7]  = new ContextMenuItem(lang["InsertCell"], DECMD_INSERTCELL) ;
TableContextMenu[8]  = new ContextMenuItem(lang["DeleteCells"], DECMD_DELETECELLS) ;
TableContextMenu[9]  = new ContextMenuItem(lang["MergeCells"], DECMD_MERGECELLS) ;
TableContextMenu[10] = new ContextMenuItem(lang["SplitCell"], DECMD_SPLITCELL) ;
TableContextMenu[11] = new ContextMenuSeparator() ;
TableContextMenu[12] = new ContextMenuItem("##TableAutoFormat", "dialogTableAutoFormat(true)", TBCMD_CUSTOM) ;
TableContextMenu[13] = new ContextMenuSeparator() ;
TableContextMenu[14] = new ContextMenuItem(lang["CellProperties"], "dialogTableCell()", TBCMD_CUSTOM) ;
TableContextMenu[15] = new ContextMenuItem(lang["TableProperties"], "dialogTable(true)", TBCMD_CUSTOM) ;

BulletedListContextMenu[0] = new ContextMenuSeparator() ;
BulletedListContextMenu[1] = new ContextMenuItem("##BulletedListProperties", "dialogList()", TBCMD_CUSTOM) ;

function showContextMenu()
{
	// Resets the context menu. 
	ContextMenu = new Array() ;
	
	var i ;
  	var index = 0;
  	
  	// Gets the actual selection.
	var sel = objContent.DOM.selection.createRange() ;
	var oTag ;
	var sTagName ;
	if (objContent.DOM.selection.type != 'Text' && sel.length == 1)
	{
		oTag = sel.item(0) ;
		sTagName = oTag.tagName.toUpperCase() ;
	}
  
	// Always show general menu options
	for ( i = 0 ; i < GeneralContextMenu.length ; i++ )
	{
		ContextMenu[index++] = GeneralContextMenu[i] ;
	}
	
	// If over a link
	if (checkDecCommand(DECMD_UNLINK) == OLE_TRISTATE_UNCHECKED)
	{
		if ( oTag && oTag.name.length > 0 && oTag.href.length == 0 )
		{
			ContextMenu[index++] = new ContextMenuSeparator() ;
			ContextMenu[index++] = new ContextMenuItem("##AnchorProperties", "anchor()", TBCMD_CUSTOM) ;
		}
		else
		{		
			for ( i = 0 ; i < LinkContextMenu.length ; i++ ) 
			{
				ContextMenu[index++] = LinkContextMenu[i] ;
			}
		}
	}
	
	// If inside a table, load table menu options
	if (objContent.QueryStatus(DECMD_INSERTROW) != DECMDF_DISABLED) 
	{
		for ( i = 0 ; i < TableContextMenu.length ; i++ ) 
		{
			ContextMenu[index++] = TableContextMenu[i] ;
		}
	}
	
	// If over an ordered list
	if (checkDecCommand(DECMD_UNORDERLIST) == OLE_TRISTATE_CHECKED)
	{
		for ( i = 0 ; i < BulletedListContextMenu.length ; i++ ) 
		{
			ContextMenu[index++] = BulletedListContextMenu[i] ;
		}	
	}

	if ( sTagName == "TABLE" )
	{
		ContextMenu[index++] = new ContextMenuSeparator() ;
		ContextMenu[index++] = new ContextMenuItem("##TableAutoFormat", "dialogTableAutoFormat()", TBCMD_CUSTOM) ;
		ContextMenu[index++] = new ContextMenuSeparator() ;
		ContextMenu[index++] = new ContextMenuItem("##TableProperties", "dialogTable()", TBCMD_CUSTOM) ;
	}
	else if ( sTagName == "IMG" )
	{
		ContextMenu[index++] = new ContextMenuSeparator() ;
		ContextMenu[index++] = new ContextMenuItem("##ImageProperties", "dialogImage()", TBCMD_CUSTOM) ;
	}
	else if ( sTagName == "INPUT" )
	{
		ContextMenu[index++] = new ContextMenuSeparator() ;
		
		switch ( oTag.type )
		{
			case 'button' :
			case 'submit' :
			case 'reset' :
				ContextMenu[index++] = new ContextMenuItem( "##ButtonProperties", "button()", TBCMD_CUSTOM) ;
				break ;
			case 'checkbox' :
				ContextMenu[index++] = new ContextMenuItem( "##CheckboxProperties", "checkbox()", TBCMD_CUSTOM) ;
				break ;
			case 'hidden' :
				ContextMenu[index++] = new ContextMenuItem( "##HiddenFieldProperties", "hidden()", TBCMD_CUSTOM) ;
				break;
			case 'radio' :
				ContextMenu[index++] = new ContextMenuItem( "##RadioButtonProperties", "radio()", TBCMD_CUSTOM) ;
				break ;
			case 'image' :
				ContextMenu[index++] = new ContextMenuItem( "##ImageButtonProperties", "imageButton()", TBCMD_CUSTOM) ;
				break ;
			case 'password' :
			case 'text' :
				ContextMenu[index++] = new ContextMenuItem( "##FieldProperties", "textfield()", TBCMD_CUSTOM) ;
				break ;
			case 'file' :
				break ;
		}
	}
	else if ( sTagName == "SELECT" )
	{
		ContextMenu[index++] = new ContextMenuSeparator() ;
		ContextMenu[index++] = new ContextMenuItem( "##SelectionFieldProperties", "selectField()", TBCMD_CUSTOM) ;
	}	
	else if ( sTagName == "TEXTAREA" )
	{
		ContextMenu[index++] = new ContextMenuSeparator() ;
		ContextMenu[index++] = new ContextMenuItem( "##TextareaProperties", "textarea()", TBCMD_CUSTOM) ;
	}
	
	// Search for a parent FORM tag.
	var e ;
	
	if ( oTag ) 
		e = oTag ;
	else
		e = sel.parentElement() ;
		
	while ( e )
	{
		if ( e.tagName.toUpperCase() == "FORM" )
		{
			ContextMenu[index++] = new ContextMenuSeparator() ;
			ContextMenu[index++] = new ContextMenuItem( "##FormProperties", "form()", TBCMD_CUSTOM) ;
			break ;
		}
		e = e.parentElement ;
	}

	// Set up the actual arrays that get passed to SetContextMenu
	var menuStrings = new Array() ;
	var menuStates  = new Array() ;
	for ( i = 0 ; i < ContextMenu.length ; i++ )
	{
		menuStrings[i] = ContextMenu[i].Text ;
		
		if (menuStrings[i] != MENU_SEPARATOR) 
			switch (ContextMenu[i].CommandType)
			{
				case TBCMD_DEC :
					menuStates[i] = checkDecCommand(ContextMenu[i].CommandId) ;
					break ;
				case TBCMD_DOC :
					menuStates[i] = checkDocCommand(ContextMenu[i].CommandCode) ;
					break ;
				default :
					menuStates[i] = OLE_TRISTATE_UNCHECKED ;
					break ;
			}
		else
			menuStates[i] = OLE_TRISTATE_CHECKED ;
	}
  
	// Set the context menu
	objContent.SetContextMenu(menuStrings, menuStates);
}

function contextMenuAction(itemIndex)
{
	eval(ContextMenu[itemIndex].Command) ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区欧美小说| 中文字幕在线免费不卡| 国产成人亚洲综合a∨婷婷图片| 一区二区三区在线播放| 国产色一区二区| 欧美经典一区二区| 亚洲国产精品成人综合| 国产婷婷精品av在线| 国产成人亚洲综合色影视| 99久久精品免费| 91尤物视频在线观看| 国产成人av一区二区三区在线 | 国产日韩精品一区二区浪潮av | 激情综合网最新| 欧洲av在线精品| 欧美色中文字幕| 欧美一区二区三区免费观看视频| 粉嫩绯色av一区二区在线观看| 成人一二三区视频| 不卡高清视频专区| 色综合亚洲欧洲| 欧美日韩和欧美的一区二区| 欧美日韩三级在线| 欧美一级在线免费| 久久综合国产精品| 最近日韩中文字幕| 天堂av在线一区| 国内精品在线播放| www.欧美日韩国产在线| 欧美在线综合视频| 日韩免费看的电影| 国产精品污网站| 夜夜嗨av一区二区三区中文字幕| 天堂蜜桃91精品| 国产在线播精品第三| 91免费版pro下载短视频| 欧美日韩久久久久久| 久久这里只有精品6| 亚洲欧美国产毛片在线| 久久国产欧美日韩精品| 成人免费看片app下载| 欧美日韩国产另类一区| 久久精品亚洲精品国产欧美kt∨| 亚洲视频一区在线| 久久99日本精品| 色噜噜偷拍精品综合在线| 精品国产99国产精品| 亚洲欧美一区二区三区孕妇| 青青草伊人久久| 97超碰欧美中文字幕| 欧美www视频| 亚洲欧洲中文日韩久久av乱码| 久久电影国产免费久久电影 | 精品sm在线观看| 亚洲欧美区自拍先锋| 国产乱码精品1区2区3区| 欧美丝袜丝交足nylons图片| 国产欧美中文在线| 久久精品国内一区二区三区| 91香蕉国产在线观看软件| 久久综合中文字幕| 日韩av不卡一区二区| 一本到一区二区三区| 国产女主播在线一区二区| 免费在线观看视频一区| 欧美在线高清视频| 亚洲区小说区图片区qvod| 国产成a人亚洲精品| 久久久亚洲国产美女国产盗摄| 日韩在线播放一区二区| 在线观看欧美精品| 亚洲色图欧美偷拍| 91视频你懂的| 亚洲欧美一区二区三区国产精品 | 亚洲国产精品自拍| 欧美亚洲综合色| 洋洋av久久久久久久一区| 色系网站成人免费| 亚洲精品亚洲人成人网 | 欧美日韩一级片网站| 亚洲综合色网站| 欧美美女直播网站| 亚洲成av人片观看| 欧美一二三区在线| 久久99国产精品麻豆| 精品国产一区二区三区久久久蜜月| 亚洲18女电影在线观看| 欧美日韩国产在线观看| 五月婷婷综合激情| 国产精品综合一区二区三区| 日韩欧美国产一区二区在线播放| 天天综合色天天综合| 欧美体内she精高潮| 日韩精品电影一区亚洲| 欧美日韩精品免费观看视频| 亚洲亚洲人成综合网络| 欧美视频一区二区在线观看| 秋霞午夜av一区二区三区| 777奇米成人网| 日本亚洲天堂网| 日韩欧美成人一区二区| 久久精品国产一区二区| 日本久久电影网| 久久精品国内一区二区三区 | 久久66热偷产精品| 精品国产免费久久| 国产suv一区二区三区88区| 久久久精品tv| 成人涩涩免费视频| 18涩涩午夜精品.www| 日本黄色一区二区| 首页国产欧美日韩丝袜| 欧美成人高清电影在线| 国产丶欧美丶日本不卡视频| 综合网在线视频| 欧美日韩精品综合在线| 久久精品久久久精品美女| 国产欧美日韩激情| 99免费精品在线| 午夜亚洲国产au精品一区二区| 欧美一级黄色片| 国产成人精品www牛牛影视| 亚洲欧美自拍偷拍色图| 欧美嫩在线观看| 丁香啪啪综合成人亚洲小说| 亚洲美女在线一区| 日韩一区二区三| av一本久道久久综合久久鬼色| 一区二区三区四区视频精品免费 | 亚洲福利一区二区| 日韩欧美二区三区| 成人av资源网站| 欧美a级一区二区| 国产精品每日更新在线播放网址| 91免费观看在线| 免费欧美日韩国产三级电影| 欧美va亚洲va| 欧美午夜精品理论片a级按摩| 国产在线麻豆精品观看| 亚洲伊人伊色伊影伊综合网| 欧美精品一区二区精品网| 国产999精品久久久久久绿帽| 日韩av一区二| 亚洲欧美色一区| 国产欧美一区二区三区网站| 欧美久久久久久久久| 99国产欧美另类久久久精品| 日韩经典中文字幕一区| 日韩伦理av电影| 26uuu精品一区二区| 欧美日韩在线直播| 91在线播放网址| 国产成人午夜电影网| 国产激情精品久久久第一区二区| 亚洲国产日韩av| 最近中文字幕一区二区三区| 国产日韩高清在线| 欧美成人一区二区三区| av不卡一区二区三区| 99精品视频在线观看| 高清不卡一区二区在线| 精品亚洲成a人| 九九国产精品视频| 日韩激情视频网站| 蜜臀99久久精品久久久久久软件| 亚洲图片欧美色图| 亚洲美女区一区| 中文字幕亚洲欧美在线不卡| 久久久久久久久久看片| 在线91免费看| 欧美日韩一区精品| 一本一本久久a久久精品综合麻豆| 久久国产免费看| 亚洲视频免费在线| 亚洲色图欧美激情| 亚洲免费观看高清完整版在线| 国产精品美女www爽爽爽| 中文字幕的久久| 欧美国产成人在线| 国产精品国产自产拍高清av王其| 日韩免费电影网站| 日韩欧美一区二区久久婷婷| 日韩一区二区三区视频在线观看| 宅男噜噜噜66一区二区66| 欧美日韩一区在线| 69精品人人人人| 欧美三区在线观看| 欧洲亚洲国产日韩| av不卡一区二区三区| 在线免费不卡视频| 日韩午夜在线观看视频| 2022国产精品视频| 国产精品乱人伦| 亚洲自拍偷拍综合| 天天操天天综合网| 99re免费视频精品全部| 欧美日韩一区三区| 久久这里只有精品6| 国产精品国产自产拍高清av王其| 午夜精品久久久久久久99水蜜桃|