insert-doclink.js
来自「Hippo CMS是一个以信息为中心的开源内容管理系统。Hippo CMS目标是」· JavaScript 代码 · 共 121 行
JS
121 行
function InsertDoclink(editor) {
this.editor = editor;
var cfg = editor.config;
var self = this;
// register the toolbar buttons provided by this plugin
cfg.registerButton({
id : "insert-doclink",
tooltip : this._lc("Insert document link"),
image : editor.imgURL("insertfilelink.gif", "InsertDoclink"),
textMode : false,
action : function(editor) {
self.buttonPress(editor);
}
});
cfg.addToolbarElement("insert-doclink", "createlink", 1);
}
InsertDoclink._pluginInfo = {
name : "InsertDoclink",
origin : "version: 1.0, by Jeroen Reijn, Hippo, http://www.hippo.nl",
version : "2.0",
developer : "Jeroen Reijn",
developer_url : "http://www.hippo.nl",
license : "Apache 2.0"
};
InsertDoclink.prototype._lc = function(string) {
return HTMLArea._lc(string, 'InsertDoclink');
};
InsertDoclink.prototype.onGenerate = function() {
};
InsertDoclink.prototype.buttonPress = function(editor) {
var outparam = null;
var html = editor.getSelectedHTML();
var sel = editor._getSelection();
var range = editor._createRange(sel);
var compare = 0;
if (HTMLArea.is_ie)
{
if(sel.type == "Control")
{
compare = range.length;
}
else
{
compare = range.compareEndPoints("StartToEnd", range);
}
}
else
{
compare = range.compareBoundaryPoints(range.START_TO_END, range);
}
if (compare == 0) {
alert(HTMLArea._lc("You need to select some text before creating a link"));
return;
}
var a = editor._activeElement(sel);
if(!(a != null && a.tagName.toLowerCase() == 'a')) {
a = editor._getFirstAncestor(sel, 'a');
}
if (a != null && a.tagName.toLowerCase() == 'a')
outparam = {
f_href : HTMLArea.is_ie ? editor.stripBaseURL(a.href) : a.getAttribute("href"),
f_title : a.title,
f_target : a.target,
f_usetarget : editor.config.makeLinkShowsTarget
};
else
outparam = {
f_href : '',
f_title : '',
f_target : '',
f_usetarget : editor.config.makeLinkShowsTarget
};
editor._popupDialog( "plugin://InsertDoclink/insert_doclink", function( params ) {
if ( params ) {
var f_href = params["f_href"];
var f_title = params["f_title"];
var f_target = params["f_target"];
if (f_href == "" || f_href == null) {
if (a) {
var child = a.innerHTML;
a.parentNode.removeChild(a);
editor.insertHTML(child);
}
return;
}
try {
var doc = editor._doc;
if (!a) {
a = doc.createElement("a");
a.href = f_href;
a.title = f_title;
a.target = f_target;
a.innerHTML = html;
if (HTMLArea.is_ie) {
range.pasteHTML(a.outerHTML);
} else {
editor.insertNodeAtSelection(a);
}
} else {
a.href = f_href;
a.title = f_title;
a.target = f_target;
}
}
catch (e) { }
}
}, outparam);
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?