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

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

?? context-menu.js

?? Serendipity是一個php+mysql的blog程序
?? JS
字號:
// Context Menu Plugin for HTMLArea-3.0// Sponsored by www.americanbible.org// Implementation by Mihai Bazon, http://dynarch.com/mishoo///// (c) dynarch.com 2003.// Distributed under the same terms as HTMLArea itself.// This notice MUST stay intact for use (see license.txt).//// $Id: context-menu.js,v 1.2 2005/01/11 15:00:55 garvinhicking Exp $HTMLArea.loadStyle("menu.css", "ContextMenu");function ContextMenu(editor) {	this.editor = editor;};ContextMenu._pluginInfo = {	name          : "ContextMenu",	version       : "1.0",	developer     : "Mihai Bazon",	developer_url : "http://dynarch.com/mishoo/",	c_owner       : "dynarch.com",	sponsor       : "American Bible Society",	sponsor_url   : "http://www.americanbible.org",	license       : "htmlArea"};ContextMenu.prototype.onGenerate = function() {	var self = this;	var doc = this.editordoc = this.editor._iframe.contentWindow.document;	HTMLArea._addEvents(doc, ["contextmenu"],			    function (event) {				    return self.popupMenu(HTMLArea.is_ie ? self.editor._iframe.contentWindow.event : event);			    });	this.currentMenu = null;};ContextMenu.prototype.getContextMenu = function(target) {	var self = this;	var editor = this.editor;	var config = editor.config;	var menu = [];	var tbo = this.editor.plugins.TableOperations;	if (tbo) tbo = tbo.instance;	var i18n = ContextMenu.I18N;	var selection = editor.hasSelectedText();	if (selection)		menu.push([ i18n["Cut"], function() { editor.execCommand("cut"); }, null, config.btnList["cut"][1] ],			  [ i18n["Copy"], function() { editor.execCommand("copy"); }, null, config.btnList["copy"][1] ]);	menu.push([ i18n["Paste"], function() { editor.execCommand("paste"); }, null, config.btnList["paste"][1] ]);	var currentTarget = target;	var elmenus = [];	var link = null;	var table = null;	var tr = null;	var td = null;	var img = null;	function tableOperation(opcode) {		tbo.buttonPress(editor, opcode);	};	function insertPara(after) {		var el = currentTarget;		var par = el.parentNode;		var p = editor._doc.createElement("p");		p.appendChild(editor._doc.createElement("br"));		par.insertBefore(p, after ? el.nextSibling : el);		var sel = editor._getSelection();		var range = editor._createRange(sel);		if (!HTMLArea.is_ie) {			sel.removeAllRanges();			range.selectNodeContents(p);			range.collapse(true);			sel.addRange(range);		} else {			range.moveToElementText(p);			range.collapse(true);			range.select();		}	};	for (; target; target = target.parentNode) {		var tag = target.tagName;		if (!tag)			continue;		tag = tag.toLowerCase();		switch (tag) {		    case "img":			img = target;			elmenus.push(null,				     [ i18n["Image Properties"],				       function() {					       editor._insertImage(img);				       },				       i18n["Show the image properties dialog"],				       config.btnList["insertimage"][1] ]				);			break;		    case "a":			link = target;			elmenus.push(null,				     [ i18n["Modify Link"],				       function() { editor.execCommand("createlink", true); },				       i18n["Current URL is"] + ': ' + link.href,				       config.btnList["createlink"][1] ],				     [ i18n["Check Link"],				       function() { window.open(link.href); },				       i18n["Opens this link in a new window"] ],				     [ i18n["Remove Link"],				       function() {					       if (confirm(i18n["Please confirm that you want to unlink this element."] + "\n" +							   i18n["Link points to:"] + " " + link.href)) {						       while (link.firstChild)							       link.parentNode.insertBefore(link.firstChild, link);						       link.parentNode.removeChild(link);					       }				       },				       i18n["Unlink the current element"] ]				);			break;		    case "td":			td = target;			if (!tbo) break;			elmenus.push(null,				     [ i18n["Cell Properties"],				       function() { tableOperation("TO-cell-prop"); },				       i18n["Show the Table Cell Properties dialog"],				       config.btnList["TO-cell-prop"][1] ]				);			break;		    case "tr":			tr = target;			if (!tbo) break;			elmenus.push(null,				     [ i18n["Row Properties"],				       function() { tableOperation("TO-row-prop"); },				       i18n["Show the Table Row Properties dialog"],				       config.btnList["TO-row-prop"][1] ],				     [ i18n["Insert Row Before"],				       function() { tableOperation("TO-row-insert-above"); },				       i18n["Insert a new row before the current one"],				       config.btnList["TO-row-insert-above"][1] ],				     [ i18n["Insert Row After"],				       function() { tableOperation("TO-row-insert-under"); },				       i18n["Insert a new row after the current one"],				       config.btnList["TO-row-insert-under"][1] ],				     [ i18n["Delete Row"],				       function() { tableOperation("TO-row-delete"); },				       i18n["Delete the current row"],				       config.btnList["TO-row-delete"][1] ]				);			break;		    case "table":			table = target;			if (!tbo) break;			elmenus.push(null,				     [ i18n["Table Properties"],				       function() { tableOperation("TO-table-prop"); },				       i18n["Show the Table Properties dialog"],				       config.btnList["TO-table-prop"][1] ],				     [ i18n["Insert Column Before"],				       function() { tableOperation("TO-col-insert-before"); },				       i18n["Insert a new column before the current one"],				       config.btnList["TO-col-insert-before"][1] ],				     [ i18n["Insert Column After"],				       function() { tableOperation("TO-col-insert-after"); },				       i18n["Insert a new column after the current one"],				       config.btnList["TO-col-insert-after"][1] ],				     [ i18n["Delete Column"],				       function() { tableOperation("TO-col-delete"); },				       i18n["Delete the current column"],				       config.btnList["TO-col-delete"][1] ]				);			break;		    case "body":			elmenus.push(null,				     [ i18n["Justify Left"],				       function() { editor.execCommand("justifyleft"); }, null,				       config.btnList["justifyleft"][1] ],				     [ i18n["Justify Center"],				       function() { editor.execCommand("justifycenter"); }, null,				       config.btnList["justifycenter"][1] ],				     [ i18n["Justify Right"],				       function() { editor.execCommand("justifyright"); }, null,				       config.btnList["justifyright"][1] ],				     [ i18n["Justify Full"],				       function() { editor.execCommand("justifyfull"); }, null,				       config.btnList["justifyfull"][1] ]				);			break;		}	}	if (selection && !link)		menu.push(null, [ i18n["Make link"],				  function() { editor.execCommand("createlink", true); },				  i18n["Create a link"],				  config.btnList["createlink"][1] ]);	for (var i = 0; i < elmenus.length; ++i)		menu.push(elmenus[i]);	if (!/html|body/i.test(currentTarget.tagName))		menu.push(null,			  [ i18n["Remove the"] + " &lt;" + currentTarget.tagName + "&gt; " + i18n["Element"],			    function() {				    if (confirm(i18n["Please confirm that you want to remove this element:"] + " " +						currentTarget.tagName)) {					    var el = currentTarget;					    var p = el.parentNode;					    p.removeChild(el);					    if (HTMLArea.is_gecko) {						    if (p.tagName.toLowerCase() == "td" && !p.hasChildNodes())							    p.appendChild(editor._doc.createElement("br"));						    editor.forceRedraw();						    editor.focusEditor();						    editor.updateToolbar();						    if (table) {							    var save_collapse = table.style.borderCollapse;							    table.style.borderCollapse = "collapse";							    table.style.borderCollapse = "separate";							    table.style.borderCollapse = save_collapse;						    }					    }				    }			    },			    i18n["Remove this node from the document"] ],			  [ i18n["Insert paragraph before"],			    function() { insertPara(false); },			    i18n["Insert a paragraph before the current node"] ],			  [ i18n["Insert paragraph after"],			    function() { insertPara(true); },			    i18n["Insert a paragraph after the current node"] ]			  );	return menu;};ContextMenu.prototype.popupMenu = function(ev) {	var self = this;	var i18n = ContextMenu.I18N;	if (this.currentMenu)		this.currentMenu.parentNode.removeChild(this.currentMenu);	function getPos(el) {		var r = { x: el.offsetLeft, y: el.offsetTop };		if (el.offsetParent) {			var tmp = getPos(el.offsetParent);			r.x += tmp.x;			r.y += tmp.y;		}		return r;	};	function documentClick(ev) {		ev || (ev = window.event);		if (!self.currentMenu) {			alert(i18n["How did you get here? (Please report!)"]);			return false;		}		var el = HTMLArea.is_ie ? ev.srcElement : ev.target;		for (; el != null && el != self.currentMenu; el = el.parentNode);		if (el == null)			self.closeMenu();		//HTMLArea._stopEvent(ev);		//return false;	};	var keys = [];	function keyPress(ev) {		ev || (ev = window.event);		HTMLArea._stopEvent(ev);		if (ev.keyCode == 27) {			self.closeMenu();			return false;		}		var key = String.fromCharCode(HTMLArea.is_ie ? ev.keyCode : ev.charCode).toLowerCase();		for (var i = keys.length; --i >= 0;) {			var k = keys[i];			if (k[0].toLowerCase() == key)				k[1].__msh.activate();		}	};	self.closeMenu = function() {		self.currentMenu.parentNode.removeChild(self.currentMenu);		self.currentMenu = null;		HTMLArea._removeEvent(document, "mousedown", documentClick);		HTMLArea._removeEvent(self.editordoc, "mousedown", documentClick);		if (keys.length > 0)			HTMLArea._removeEvent(self.editordoc, "keypress", keyPress);		if (HTMLArea.is_ie)			self.iePopup.hide();	};	var target = HTMLArea.is_ie ? ev.srcElement : ev.target;	var ifpos = getPos(self.editor._iframe);	var x = ev.clientX + ifpos.x;	var y = ev.clientY + ifpos.y;	var div;	var doc;	if (!HTMLArea.is_ie) {		doc = document;	} else {		// IE stinks		var popup = this.iePopup = window.createPopup();		doc = popup.document;		doc.open();		doc.write("<html><head><style type='text/css'>@import url(" + _editor_url + "plugins/ContextMenu/menu.css); html, body { padding: 0px; margin: 0px; overflow: hidden; border: 0px; }</style></head><body unselectable='yes'></body></html>");		doc.close();	}	div = doc.createElement("div");	if (HTMLArea.is_ie)		div.unselectable = "on";	div.oncontextmenu = function() { return false; };	div.className = "htmlarea-context-menu";	if (!HTMLArea.is_ie)		div.style.left = div.style.top = "0px";	doc.body.appendChild(div);	var table = doc.createElement("table");	div.appendChild(table);	table.cellSpacing = 0;	table.cellPadding = 0;	var parent = doc.createElement("tbody");	table.appendChild(parent);	var options = this.getContextMenu(target);	for (var i = 0; i < options.length; ++i) {		var option = options[i];		var item = doc.createElement("tr");		parent.appendChild(item);		if (HTMLArea.is_ie)			item.unselectable = "on";		else item.onmousedown = function(ev) {			HTMLArea._stopEvent(ev);			return false;		};		if (!option) {			item.className = "separator";			var td = doc.createElement("td");			td.className = "icon";			var IE_IS_A_FUCKING_SHIT = '>';			if (HTMLArea.is_ie) {				td.unselectable = "on";				IE_IS_A_FUCKING_SHIT = " unselectable='on' style='height=1px'>&nbsp;";			}			td.innerHTML = "<div" + IE_IS_A_FUCKING_SHIT + "</div>";			var td1 = td.cloneNode(true);			td1.className = "label";			item.appendChild(td);			item.appendChild(td1);		} else {			var label = option[0];			item.className = "item";			item.__msh = {				item: item,				label: label,				action: option[1],				tooltip: option[2] || null,				icon: option[3] || null,				activate: function() {					self.closeMenu();					self.editor.focusEditor();					this.action();				}			};			label = label.replace(/_([a-zA-Z0-9])/, "<u>$1</u>");			if (label != option[0])				keys.push([ RegExp.$1, item ]);			label = label.replace(/__/, "_");			var td1 = doc.createElement("td");			if (HTMLArea.is_ie)				td1.unselectable = "on";			item.appendChild(td1);			td1.className = "icon";			if (item.__msh.icon)				td1.innerHTML = "<img align='middle' src='" + item.__msh.icon + "' />";			var td2 = doc.createElement("td");			if (HTMLArea.is_ie)				td2.unselectable = "on";			item.appendChild(td2);			td2.className = "label";			td2.innerHTML = label;			item.onmouseover = function() {				this.className += " hover";				self.editor._statusBarTree.innerHTML = this.__msh.tooltip || '&nbsp;';			};			item.onmouseout = function() { this.className = "item"; };			item.oncontextmenu = function(ev) {				this.__msh.activate();				if (!HTMLArea.is_ie)					HTMLArea._stopEvent(ev);				return false;			};			item.onmouseup = function(ev) {				var timeStamp = (new Date()).getTime();				if (timeStamp - self.timeStamp > 500)					this.__msh.activate();				if (!HTMLArea.is_ie)					HTMLArea._stopEvent(ev);				return false;			};			//if (typeof option[2] == "string")			//item.title = option[2];		}	}	if (!HTMLArea.is_ie) {		var dx = x + div.offsetWidth - window.innerWidth + 4;		var dy = y + div.offsetHeight - window.innerHeight + 4;		if (dx > 0) x -= dx;		if (dy > 0) y -= dy;		div.style.left = x + "px";		div.style.top = y + "px";	} else {		// determine the size (did I mention that IE stinks?)		var foobar = document.createElement("div");		foobar.className = "htmlarea-context-menu";		foobar.innerHTML = div.innerHTML;		document.body.appendChild(foobar);		var w = foobar.offsetWidth;		var h = foobar.offsetHeight;		document.body.removeChild(foobar);		this.iePopup.show(ev.screenX, ev.screenY, w, h);	}	this.currentMenu = div;	this.timeStamp = (new Date()).getTime();	HTMLArea._addEvent(document, "mousedown", documentClick);	HTMLArea._addEvent(this.editordoc, "mousedown", documentClick);	if (keys.length > 0)		HTMLArea._addEvent(this.editordoc, "keypress", keyPress);	HTMLArea._stopEvent(ev);	return false;};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级专区免费大片| 在线一区二区三区做爰视频网站| 日韩欧美一级二级| 国产综合色在线视频区| 国产亚洲精品aa| 99九九99九九九视频精品| 亚洲色图视频网| 欧美一区二区三区日韩视频| 久久99国产精品尤物| 中文字幕一区二区三区色视频| jlzzjlzz国产精品久久| 天天影视涩香欲综合网| 2022国产精品视频| 日本道在线观看一区二区| 午夜电影一区二区三区| 久久久综合视频| 91蝌蚪porny成人天涯| 日韩电影在线免费看| 久久久99免费| 欧美无乱码久久久免费午夜一区| 琪琪一区二区三区| 国产精品热久久久久夜色精品三区 | 欧美大片日本大片免费观看| 国产在线看一区| 一区二区三区中文免费| 日韩欧美亚洲国产另类| 色综合咪咪久久| 久久精品国产99久久6| 亚洲欧美日韩综合aⅴ视频| 91精品国产综合久久小美女| jiyouzz国产精品久久| 免费在线观看成人| 亚洲视频在线一区二区| 日韩女优av电影| 91成人网在线| 国产激情视频一区二区三区欧美| 亚洲一区二区在线观看视频| 国产亚洲午夜高清国产拍精品| 欧美日韩性生活| 91视频xxxx| 国产成人精品一区二| 日韩成人免费电影| 一区二区三区在线视频播放| 国产亚洲精品bt天堂精选| 欧美一区二区三区视频在线 | 成人app在线观看| 免费欧美在线视频| 亚洲午夜免费视频| 亚洲欧洲在线观看av| 国产亚洲精品bt天堂精选| 日韩欧美电影一区| 欧美日韩国产区一| 色噜噜狠狠成人网p站| 粉嫩一区二区三区在线看| 久久精品72免费观看| 水蜜桃久久夜色精品一区的特点 | 夜夜精品浪潮av一区二区三区| 久久久91精品国产一区二区三区| 欧美一卡二卡在线| 欧美日韩久久不卡| 欧美性高清videossexo| 91久久奴性调教| 91美女精品福利| 91片黄在线观看| 91免费版在线| 色综合 综合色| 色成人在线视频| 在线一区二区观看| 欧美四级电影网| 精品视频免费在线| 欧美日韩国产免费一区二区 | 国精产品一区一区三区mba视频 | 亚洲第一主播视频| 亚洲成人1区2区| 婷婷中文字幕综合| 日韩二区在线观看| 精品中文av资源站在线观看| 国产在线精品一区二区夜色| 国产中文一区二区三区| 国产麻豆视频精品| 国产成人精品免费在线| 国产91富婆露脸刺激对白| 本田岬高潮一区二区三区| 99久久精品国产麻豆演员表| 色婷婷av一区二区三区gif| 欧美色图片你懂的| 日韩天堂在线观看| 国产偷国产偷亚洲高清人白洁| 国产婷婷色一区二区三区四区| 中文字幕不卡在线| 亚洲伦在线观看| 亚洲不卡在线观看| 狠狠色丁香婷婷综合| 成人av高清在线| 91久久久免费一区二区| 91精品国产一区二区三区蜜臀| 欧美大片一区二区三区| 国产精品伦理在线| 亚洲一区二区3| 美女免费视频一区| 处破女av一区二区| 欧美日韩免费视频| 久久五月婷婷丁香社区| 亚洲免费观看高清完整版在线观看熊| 亚洲国产精品久久艾草纯爱| 毛片av一区二区| 成人97人人超碰人人99| 欧美日本一区二区| 国产亚洲欧美一级| 亚洲午夜精品在线| 国产精品原创巨作av| 色综合久久久久| 精品成人佐山爱一区二区| 国产精品久久久久天堂| 奇米色777欧美一区二区| 成人h动漫精品一区二区| 欧美精品黑人性xxxx| 日本一区二区三区四区| 婷婷综合久久一区二区三区| 成人精品小蝌蚪| 欧美tickling网站挠脚心| 亚洲精品免费在线| 国产伦精品一区二区三区在线观看 | 91理论电影在线观看| 欧美www视频| 亚洲午夜久久久久久久久电影院| 国产一区二区不卡在线 | 色噜噜狠狠成人中文综合| 精品国产成人在线影院 | 久久99精品久久久久久国产越南| 91蝌蚪porny| 国产欧美日韩三级| 美女脱光内衣内裤视频久久影院| 一本一道久久a久久精品综合蜜臀| 精品剧情v国产在线观看在线| 亚洲已满18点击进入久久| 成人免费毛片片v| 日韩精品专区在线影院重磅| 亚洲综合视频网| jlzzjlzz亚洲日本少妇| 国产午夜一区二区三区| 伦理电影国产精品| 欧美日韩高清一区二区| 亚洲免费观看高清完整| 成人激情午夜影院| 久久精品人人做人人爽人人| 精品一区二区三区影院在线午夜| 欧美午夜免费电影| 亚洲乱码精品一二三四区日韩在线| 国产成人免费av在线| 久久综合九色综合久久久精品综合| 视频一区在线播放| 精品视频色一区| 一个色在线综合| 日本韩国欧美一区| 亚洲激情综合网| 色婷婷综合久久久中文一区二区| 国产精品成人免费在线| 成人午夜视频免费看| 中文字幕av一区二区三区高 | 久久久国产一区二区三区四区小说 | 秋霞电影一区二区| 91麻豆精品国产无毒不卡在线观看 | 亚洲一区二区三区四区中文字幕| 成人h动漫精品| 综合激情网...| 91麻豆国产自产在线观看| 《视频一区视频二区| 91麻豆精品秘密| 亚洲一区二区3| 91精品免费在线| 久久国内精品视频| 久久看人人爽人人| 成人免费视频播放| 亚洲乱码一区二区三区在线观看| 一本色道久久加勒比精品 | 久久99精品一区二区三区三区| 欧美一区二区免费视频| 久久狠狠亚洲综合| 欧美国产禁国产网站cc| 色域天天综合网| 天天影视色香欲综合网老头| 日韩免费在线观看| 国产成人精品亚洲777人妖| 国产精品对白交换视频| 日本道免费精品一区二区三区| 亚洲一区二区四区蜜桃| 日韩视频一区二区三区在线播放| 国产一区二区剧情av在线| ...xxx性欧美| 777奇米四色成人影色区| 国内久久婷婷综合| 国产精品久久国产精麻豆99网站 | 欧美精品在线观看播放| 加勒比av一区二区| 国产亚洲欧美色| 欧美日韩中字一区| 国产高清一区日本| 一区二区三区在线观看视频| 日韩亚洲欧美综合|