图形验证插件,百度编辑器拓展功能,NodeJs消息机制以及聊天室
阅读原文时间:2023年07月10日阅读:1

图形验证插件

网上找了很多图形验证插件,比较推荐verify.js

百度编辑器拓展功能

红框内就是自定义的功能

引入百度编辑器后

ueditor.all.js

//为工具栏添加按钮,以下都是统一的按钮触发命令,所以写在一起  
var btnCmds = \['translation《--这是你新加的功能','undo', 'redo', 'formatmatch',  
    'bold', 'italic', 'underline', 'fontborder', 'touppercase', 'tolowercase',  
    'strikethrough', 'subscript', 'superscript', 'source', 'indent', 'outdent',  
    'blockquote', 'pasteplain', 'pagebreak',  
    'selectall', 'print','horizontal', 'removeformat', 'time', 'date', 'unlink',  
    'insertparagraphbeforetable', 'insertrow', 'insertcol', 'mergeright', 'mergedown', 'deleterow',  
    'deletecol', 'splittorows', 'splittocols', 'splittocells', 'mergecells', 'deletetable', 'drafts'\];

ueditor.config.js

, toolbars: [['translation《--和上面保持一样的名字', '|',
'fullscreen', 'source', '|', 'undo', 'redo', '|',
'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|',
'rowspacingtop', 'rowspacingbottom', 'lineheight', '|',
'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|',
'directionalityltr', 'directionalityrtl', 'indent', '|',
'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|',
'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|',
'simpleupload', 'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe', 'insertcode', 'webapp', 'pagebreak', 'template', 'background', '|',
'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|',
'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|',
'print', 'preview', 'searchreplace', 'drafts', 'help'
]]
//当鼠标放在工具栏上时显示的tooltip提示,留空支持自动多语言配置,否则以配置值为准
//,labelMap:{
// 'anchor':'', 'undo':''
//}
, labelMap: {
'translation': '翻译《--鼠标放上去的提示'
}

在初始化编辑器之前增加命令

UE.commands['translation'] = {

    execCommand: function () {  
        var translation = UE.getEditor(this.key);//富文本  
          点击后触发的事件  
    },  
    queryCommandState: function () {

    }  
};

var ue = UE.getEditor('editor');

效果,我再百度编辑器上新增的翻译功能

NodeJs 做聊天室

NodeJs 可以在服务器上运行,做JS的服务端。与客户端NodeJs 保持长连接。业务上可以做及时沟通。

引用socket.io.js

服务端代码:

var httpd = require('http').createServer(handler);
var io = require('socket.io').listen(httpd);
var fs = require('fs');

引用三个比较关键的资源

httpd.listen(3000);

监听3000端口,一般是8077.。。

function handler(req, res) {
fs.readFile(__dirname + '/index.html',
function(err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}

  res.writeHead(200);  
  res.end(data);  
}  

);
}

创建HTTP链接

io.sockets.on('connection', function (socket) {
socket.on('clientMessage', function(content) {
socket.emit('serverMessage', 'You said: ' + content);
var username = null;

if (socket.username) {  
    username = socket.username;  
}  
  socket.broadcast.emit('serverMessage', username + ' said: ' +  
    content);  

});

socket.on('login', function(username) {
socket.username = username;
socket.emit('serverMessage', 'Currently logged in as ' + username);
socket.broadcast.emit('serverMessage', 'User ' + username +
' logged in');
});

socket.emit('login');

});

以上是NodeJs服务端相应事件的主体代码