anchor.js

来自「Joomla!是一套获得过多个奖项的内容管理系统(Content Managem」· JavaScript 代码 · 共 75 行

JS
75
字号
var action, element;function init() {	tinyMCEPopup.resizeToInnerSize();	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));	var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name");	var img = inst.getFocusElement();	action = 'insert';	if (anchor != null) {		element = anchor;		action = "update";	}	if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {		element = img;		action = "update";	}	if (action == "update")		document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");	document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);}function insertAnchor() {	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));	var name = document.forms[0].anchorName.value, e;	tinyMCEPopup.execCommand("mceBeginUndoLevel");	if (action == "update") {		if (element.nodeName == "IMG")			element.setAttribute("title", name);		else			element.setAttribute("name", name);	} else {		var rng = inst.getRng();		if (rng.collapse)			rng.collapse(false);		name = name.replace(/&/g, '&amp;');		name = name.replace(/\"/g, '&quot;');		name = name.replace(/</g, '&lt;');		name = name.replace(/>/g, '&gt;');		// Fix for bug #1447335		if (tinyMCE.isGecko)			html = '<a id="mceNewAnchor" name="' + name + '"></a>';		else			html = '<a name="' + name + '"></a>';		tinyMCEPopup.execCommand("mceInsertContent", false, html);		// Fix for bug #1447335 force cursor after the anchor element		if (tinyMCE.isGecko) {			e = inst.getDoc().getElementById('mceNewAnchor');			if (e) {				inst.selection.selectNode(e, true, false, false);				e.removeAttribute('id');			}		}		tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);	}	tinyMCEPopup.execCommand("mceEndUndoLevel");	tinyMCE.triggerNodeChange();	tinyMCEPopup.close();}

⌨️ 快捷键说明

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