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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fckselection_ie.js

?? 強大的個人日志系統(tǒng),界面華麗
?? JS
字號:
?/*
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 * Copyright (C) 2003-2008 Frederico Caldeira Knabben
 *
 * == BEGIN LICENSE ==
 *
 * Licensed under the terms of any of the following licenses at your
 * choice:
 *
 *  - GNU General Public License Version 2 or later (the "GPL")
 *    http://www.gnu.org/licenses/gpl.html
 *
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
 *    http://www.gnu.org/licenses/lgpl.html
 *
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
 *    http://www.mozilla.org/MPL/MPL-1.1.html
 *
 * == END LICENSE ==
 *
 * Active selection functions. (IE specific implementation)
 */

// Get the selection type.
FCKSelection.GetType = function()
{
	// It is possible that we can still get a text range object even when type=='None' is returned by IE.
	// So we'd better check the object returned by createRange() rather than by looking at the type.
	try
	{
		var ieType = FCKSelection.GetSelection().type ;
		if ( ieType == 'Control' || ieType == 'Text' )
			return ieType ;

		if ( this.GetSelection().createRange().parentElement )
			return 'Text' ;
	}
	catch(e)
	{
		// Nothing to do, it will return None properly.
	}

	return 'None' ;
} ;

// Retrieves the selected element (if any), just in the case that a single
// element (object like and image or a table) is selected.
FCKSelection.GetSelectedElement = function()
{
	if ( this.GetType() == 'Control' )
	{
		var oRange = this.GetSelection().createRange() ;

		if ( oRange && oRange.item )
			return this.GetSelection().createRange().item(0) ;
	}
	return null ;
} ;

FCKSelection.GetParentElement = function()
{
	switch ( this.GetType() )
	{
		case 'Control' :
			var el = FCKSelection.GetSelectedElement() ;
			return el ? el.parentElement : null ;

		case 'None' :
			return null ;

		default :
			return this.GetSelection().createRange().parentElement() ;
	}
} ;

FCKSelection.GetBoundaryParentElement = function( startBoundary )
{
	switch ( this.GetType() )
	{
		case 'Control' :
			var el = FCKSelection.GetSelectedElement() ;
			return el ? el.parentElement : null ;

		case 'None' :
			return null ;

		default :
			var doc = FCK.EditorDocument ;

			var range = doc.selection.createRange() ;
			range.collapse( startBoundary !== false ) ;

			var el = range.parentElement() ;

			// It may happen that range is comming from outside "doc", so we
			// must check it (#1204).
			return FCKTools.GetElementDocument( el ) == doc ? el : null ;
	}
} ;

FCKSelection.SelectNode = function( node )
{
	FCK.Focus() ;
	this.GetSelection().empty() ;
	var oRange ;
	try
	{
		// Try to select the node as a control.
		oRange = FCK.EditorDocument.body.createControlRange() ;
		oRange.addElement( node ) ;
	}
	catch(e)
	{
		// If failed, select it as a text range.
		oRange = FCK.EditorDocument.body.createTextRange() ;
		oRange.moveToElementText( node ) ;
	}

	oRange.select() ;
} ;

FCKSelection.Collapse = function( toStart )
{
	FCK.Focus() ;
	if ( this.GetType() == 'Text' )
	{
		var oRange = this.GetSelection().createRange() ;
		oRange.collapse( toStart == null || toStart === true ) ;
		oRange.select() ;
	}
} ;

// The "nodeTagName" parameter must be Upper Case.
FCKSelection.HasAncestorNode = function( nodeTagName )
{
	var oContainer ;

	if ( this.GetSelection().type == "Control" )
	{
		oContainer = this.GetSelectedElement() ;
	}
	else
	{
		var oRange  = this.GetSelection().createRange() ;
		oContainer = oRange.parentElement() ;
	}

	while ( oContainer )
	{
		if ( oContainer.nodeName.IEquals( nodeTagName ) ) return true ;
		oContainer = oContainer.parentNode ;
	}

	return false ;
} ;

// The "nodeTagName" parameter must be UPPER CASE.
FCKSelection.MoveToAncestorNode = function( nodeTagName )
{
	var oNode, oRange ;

	if ( ! FCK.EditorDocument )
		return null ;

	if ( this.GetSelection().type == "Control" )
	{
		oRange = this.GetSelection().createRange() ;
		for ( i = 0 ; i < oRange.length ; i++ )
		{
			if (oRange(i).parentNode)
			{
				oNode = oRange(i).parentNode ;
				break ;
			}
		}
	}
	else
	{
		oRange  = this.GetSelection().createRange() ;
		oNode = oRange.parentElement() ;
	}

	while ( oNode && oNode.nodeName != nodeTagName )
		oNode = oNode.parentNode ;

	return oNode ;
} ;

FCKSelection.Delete = function()
{
	// Gets the actual selection.
	var oSel = this.GetSelection() ;

	// Deletes the actual selection contents.
	if ( oSel.type.toLowerCase() != "none" )
	{
		oSel.clear() ;
	}

	return oSel ;
} ;

/**
 * Returns the native selection object.
 */
FCKSelection.GetSelection = function()
{
	this.Restore() ;
	return FCK.EditorDocument.selection ;
}

FCKSelection.Save = function( noFocus )
{
	// Ensures the editor has the selection focus. (#1801)
	if ( !noFocus )
		FCK.Focus() ;

	var editorDocument = FCK.EditorDocument ;

	if ( !editorDocument )
		return ;

	var selection = editorDocument.selection ;
	var range ;

	if ( selection )
	{
		range = selection.createRange() ;

		// Ensure that the range comes from the editor document.
		if ( range )
		{
			if ( range.parentElement && FCKTools.GetElementDocument( range.parentElement() ) != editorDocument )
				range = null ;
			else if ( range.item && FCKTools.GetElementDocument( range.item(0) )!= editorDocument )
				range = null ;
		}
	}

	this.SelectionData = range ;
}

FCKSelection._GetSelectionDocument = function( selection )
{
	var range = selection.createRange() ;
	if ( !range )
		return null;
	else if ( range.item )
		return FCKTools.GetElementDocument( range.item( 0 ) ) ;
	else
		return FCKTools.GetElementDocument( range.parentElement() ) ;
}

FCKSelection.Restore = function()
{
	if ( this.SelectionData )
	{
		FCK.IsSelectionChangeLocked = true ;

		try
		{
			// Don't repeat the restore process if the editor document is already selected.
			if ( String( this._GetSelectionDocument( FCK.EditorDocument.selection ).body.contentEditable ) == 'true' )
			{
				FCK.IsSelectionChangeLocked = false ;
				return ;
			}
			this.SelectionData.select() ;
		}
		catch ( e ) {}

		FCK.IsSelectionChangeLocked = false ;
	}
}

FCKSelection.Release = function()
{
	delete this.SelectionData ;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91亚洲精品久久久蜜桃| 日韩一区二区三区高清免费看看| 精品99999| 久久精品国产亚洲aⅴ | 亚洲欧美日韩国产另类专区| 国产成人丝袜美腿| 欧美日韩小视频| 日韩av一二三| 日韩美女在线视频 | 久久一区二区三区四区| 日韩av网站免费在线| 6080亚洲精品一区二区| 久久国产成人午夜av影院| 欧美一级黄色片| 亚洲影院理伦片| 欧美日韩色一区| 天天av天天翘天天综合网色鬼国产| 欧美一级理论性理论a| 青娱乐精品在线视频| 欧美一级在线免费| 99精品久久只有精品| 亚洲精品国产一区二区精华液| 欧美日韩国产天堂| 美国十次综合导航| 国产性做久久久久久| 91色porny在线视频| 亚洲国产精品久久久男人的天堂| 欧美性受xxxx| 极品瑜伽女神91| 欧美激情一区三区| 欧美人与禽zozo性伦| 美女性感视频久久| 中文字幕在线一区二区三区| 在线观看一区不卡| 免费在线观看精品| 亚洲人成影院在线观看| 欧美精品一二三四| 成人永久aaa| 亚洲国产精品自拍| 久久日一线二线三线suv| 欧美日韩综合一区| 国产精品一区二区在线播放| 亚洲一区二区三区中文字幕在线| 精品国产一区二区亚洲人成毛片| 成人伦理片在线| 美女任你摸久久| 亚洲女人小视频在线观看| 在线观看区一区二| 国产成人夜色高潮福利影视| 亚洲国产精品一区二区久久恐怖片 | 久久精品网站免费观看| 91色视频在线| 国产一区在线不卡| 亚洲一二三区视频在线观看| 精品国产电影一区二区| 欧美人体做爰大胆视频| 欧美午夜精品电影| 不卡av在线免费观看| 美女网站色91| 国产亚洲人成网站| 精品捆绑美女sm三区| 91电影在线观看| 色婷婷精品大在线视频| 国产69精品久久99不卡| 蜜臀av性久久久久蜜臀aⅴ| 亚洲精品国久久99热| 中文成人综合网| 日韩一区二区电影| 成人激情免费视频| 高清国产午夜精品久久久久久| 日韩极品在线观看| 丝袜诱惑亚洲看片| 一区二区三区四区五区视频在线观看| 日韩免费看的电影| 日韩欧美卡一卡二| 欧美一卡二卡在线观看| 日韩欧美国产精品| 555www色欧美视频| 色悠悠亚洲一区二区| 成人av集中营| 国产xxx精品视频大全| 国产激情精品久久久第一区二区| 日本亚洲电影天堂| 激情亚洲综合在线| 国产一区二区三区四区五区美女| 一区二区三区中文字幕| 亚洲午夜视频在线观看| 亚洲综合色网站| 婷婷久久综合九色综合绿巨人| 亚洲人成人一区二区在线观看| 精品对白一区国产伦| 国产亚洲精久久久久久| 国产网站一区二区三区| 亚洲免费观看高清完整| 亚洲欧美日韩电影| 天涯成人国产亚洲精品一区av| 亚洲一区在线观看视频| 亚洲中国最大av网站| 亚洲国产视频在线| 丝袜a∨在线一区二区三区不卡| 偷拍日韩校园综合在线| 美女任你摸久久| 激情av综合网| 99精品久久久久久| 一本大道久久精品懂色aⅴ| 欧美日韩国产免费| 日韩亚洲欧美成人一区| 欧美浪妇xxxx高跟鞋交| 日韩欧美国产一区二区三区| 日韩久久精品一区| 欧美激情中文字幕一区二区| 亚洲天堂中文字幕| 午夜精品国产更新| 国产一区二区三区四| 免费一区二区视频| 成人激情黄色小说| 91成人在线免费观看| 精品国产91久久久久久久妲己 | 国产欧美一区二区精品性色| 中文字幕av一区二区三区| 亚洲一区二区三区四区中文字幕| 日本视频免费一区| 国产69精品一区二区亚洲孕妇| 国产69精品久久久久毛片| 91麻豆精品国产自产在线 | 久久综合视频网| 国产精品三级av| 免费成人在线观看视频| 丁香桃色午夜亚洲一区二区三区| 成人晚上爱看视频| 日韩一区二区三区在线观看| 欧美国产日本韩| 日韩国产成人精品| 国产aⅴ综合色| 精品国产在天天线2019| 亚洲一区二区视频| 成人黄色在线看| 欧美一区午夜精品| 中文字幕在线不卡一区| 国产在线国偷精品免费看| 色吊一区二区三区| 中文字幕一区av| 免费国产亚洲视频| 91网站最新网址| 日韩一级成人av| 亚洲国产美女搞黄色| 国产91丝袜在线播放| 在线播放欧美女士性生活| 国产精品亲子乱子伦xxxx裸| 蜜臀av性久久久久av蜜臀妖精| 91蜜桃传媒精品久久久一区二区| 日韩午夜中文字幕| 日本一区二区三区在线观看| 奇米精品一区二区三区在线观看一| 日韩av午夜在线观看| 欧美人动与zoxxxx乱| 久久久精品一品道一区| 秋霞影院一区二区| 99国产精品久久久久久久久久 | 欧美一a一片一级一片| 精品久久久久久无| 国产在线一区观看| 日韩欧美在线综合网| 日本美女视频一区二区| 欧美在线影院一区二区| 伊人性伊人情综合网| 成人黄色777网| 久久综合九色综合97婷婷女人 | 麻豆91在线播放| 欧美日韩成人一区| 亚洲精品网站在线观看| 99re这里只有精品视频首页| 久久久久久久免费视频了| 国产激情视频一区二区在线观看| 精品久久久久香蕉网| 国产精品1区二区.| 久久蜜臀中文字幕| 成人网男人的天堂| 中文字幕亚洲欧美在线不卡| 一本久道中文字幕精品亚洲嫩 | 欧美一区二区在线免费观看| 亚洲免费av在线| 欧美日韩一区二区三区在线| 夜夜嗨av一区二区三区| 欧美日韩一区二区三区不卡| 亚洲一区二区三区中文字幕在线| 制服丝袜亚洲色图| 日韩 欧美一区二区三区| 在线亚洲免费视频| 香蕉av福利精品导航| 欧美视频在线播放| 麻豆精品久久精品色综合| 欧美大黄免费观看| 国产成都精品91一区二区三| 国产日韩高清在线| 色就色 综合激情| 亚洲成人一区二区在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 国产一区二区福利视频| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 |