网页聊天室发送表情包

前言

本示例使用的是eclipse,其他编辑器也一样。将资源放到相应目录即可。

使用的都是html/css/js等,所以后端使用什么语言都没有关系

1.layui的富文本编辑器发送表情

在layui官网(http://www.layui.com)下载layui的包

解压,将layui的文件放到webcontent下

使用layui的富文本编辑器发送表情

点击发送消息

查看源码,表情的本质,只是插入图片而已。

代码示例

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>layui</title>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

  <link rel="stylesheet" href="layui/css/layui.css"  media="all">
  <!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
  <script src="layui/layui.js" charset="utf-8"></script>
    <!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
</head>
<body>

<div style="margin-bottom: 20px; width: 500px;">
  <textarea class="layui-textarea" id="LAY_demo2" style="display: none"></textarea>
</div>               

<div class="site-demo-button" style="margin-top: 20px;">
  <button class="layui-btn site-demo-layedit" data-type="content">发送消息</button>
</div>

<script>
layui.use(‘layedit‘, function(){
  var layedit = layui.layedit
  ,$ = layui.jquery;

    //自定义工具栏
  var index = layedit.build(‘LAY_demo2‘, {
    tool: [‘face‘, ‘image‘]
    ,height: 100
  })
  //编辑器外部操作
  var active = {
    content: function(){
      alert(layedit.getContent(index)); //获取编辑器内容
    }
  };

  $(‘.site-demo-layedit‘).on(‘click‘, function(){
    var type = $(this).data(‘type‘);
    active[type] ? active[type].call(this) : ‘‘;//根据data-type="content" 触发对应事件
  });

});
</script>

</body>
</html>

layui富文本编辑器官方示例:http://www.layui.com/demo/layedit.html

layui富文本编辑器的API:http://www.layui.com/doc/modules/layedit.html

2.使用jquery插件qqFace

插件下载地址:http://www.jq22.com/jquery-info365

点击表情

点击发送

示例代码

<!doctype html>

<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="author" content="jQuery插件库(www.jq22.com)">
<meta name="weburl" content="http://www.jq22.com/">
<title>基于jQuery开发的全能表单验证插件</title>
<link href="qqFace/css/bootstrap.min.css" rel="stylesheet" media="screen">
<link rel="stylesheet" href="qqFace/css/reset.css">
<style>
.comment { width: 680px; margin: 20px auto; position: relative; background: #fff; padding: 20px 50px 50px; border: 1px solid #DDD; border-radius: 5px; }
.comment h3 { height: 28px; line-height: 28px }
.com_form { width: 100%; position: relative }
.input { width: 99%; height: 60px; border: 1px solid #ccc }
.com_form p { height: 28px; line-height: 28px; position: relative; margin-top: 10px; }
span.emotion { width: 42px; height: 20px; padding-left: 20px; cursor: pointer }
span.emotion:hover { background-position: 2px -28px }
.qqFace { margin-top: 4px; background: #fff; padding: 2px; border: 1px #dfe6f6 solid; }
.qqFace table td { padding: 0px; }
.qqFace table td img { cursor: pointer; border: 1px #fff solid; }
.qqFace table td img:hover { border: 1px #0066cc solid; }
#show { width: 770px; margin: 20px auto; background: #fff; padding: 5px; border: 1px solid #DDD; vertical-align: top; }
.sub_btn { position: absolute; right: 0px; top: 0; display: inline-block; zoom: 1; /* zoom and *display = ie7 hack for display:inline-block */  *display: inline;
vertical-align: baseline; margin: 0 2px; outline: none; cursor: pointer; text-align: center; font: 14px/100% Arial, Helvetica, sans-serif; padding: .5em 2em .55em; text-shadow: 0 1px 1px rgba(0,0,0,.6); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2); -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2); box-shadow: 0 1px 2px rgba(0,0,0,.2); color: #e8f0de; border: solid 1px #538312; background: #64991e; background: -webkit-gradient(linear, left top, left bottom, from(#7db72f), to(#4e7d0e)); background: -moz-linear-gradient(top, #7db72f, #4e7d0e);  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#7db72f‘, endColorstr=‘#4e7d0e‘);
}
.sub_btn:hover { background: #538018; background: -webkit-gradient(linear, left top, left bottom, from(#6b9d28), to(#436b0c)); background: -moz-linear-gradient(top, #6b9d28, #436b0c);  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#6b9d28‘, endColorstr=‘#436b0c‘);
}
</style>
</head>

<body>
<div id="show"></div>
<div class="comment">
  <div class="com_form">
    <textarea class="input" id="saytext" name="saytext"></textarea>
    <p>
      <input type="button" class="sub_btn" value="提交">
      <span class="emotion">表情</span></p>
  </div>
</div>
</body>
<script  src="qqFace/js/jquery.min.js"></script>
<script type="text/javascript" src="qqFace/js/jquery.qqFace.js"></script>
<script type="text/javascript">

$(function(){

    $(‘.emotion‘).qqFace({

        id : ‘facebox‘, 

        assign:‘saytext‘, 

        path:‘qqFace/arclist/‘    //表情存放的路径

    });

    $(".sub_btn").click(function(){

        var str = $("#saytext").val();

        $("#show").html(replace_em(str));

    });

});

//查看结果

function replace_em(str){

    str = str.replace(/\</g,‘&lt;‘);

    str = str.replace(/\>/g,‘&gt;‘);

    str = str.replace(/\n/g,‘<br/>‘);

    str = str.replace(/\[em_([0-9]*)\]/g,‘<img src="qqFace/arclist/$1.gif" border="0" />‘); //填写gif的路径

    return str;

}

</script>
</html>

3.示例代码下载地址

https://github.com/ggb2312/webchat-face

原文地址:https://www.cnblogs.com/gj-blog/p/9413293.html

时间: 2024-10-15 03:41:50

网页聊天室发送表情包的相关文章

Java和WebSocket开发网页聊天室

小编心语:咳咳咳,今天又是聊天室,到现在为止小编已经分享了不下两个了,这一次跟之前的又不大相同,这一次是网页聊天室,具体怎么着,还请各位看官往下看~ Java和WebSocket开发网页聊天室 一.项目简介 WebSocket是HTML5一种新的协议,它实现了浏览器与服务器全双工通信,这里就将使用WebSocket来开发网页聊天室,前端框架会使用AmazeUI,后台使用Java,编辑器使用UMEditor. 二.涉及知识点 网页前端(HTML+CSS+JS)和Java 三.软件环境 Tomcat

html5 websocket + node.js 实现网页聊天室

1 client:    socket.io server:   node.js +  express  + socket.io 一个简单的聊天室  demo,没有注册,内置了一些测试用户 2 client 关键代码 var socket = io.connect('http://localhost:8080'); socket.on('connect',function(){ console.log('connected to server'); socket.on('login succes

WebSocket 网页聊天室的实现(服务器端:.net + windows服务,前端:Html5)

websocket是HTML5中的比较有特色一块,它使得以往在客户端软件中常用的socket在web程序中也能轻松的使用,较大的提高了效率.废话不多说,直接进入题. 网页聊天室包括2个部分,后端服务器+前端页面. 1.后端服务部分:.net4.0 + windows服务.相比寄宿在iis中,寄宿在进程中的windows服务更加的稳定可靠(文章中的例子用windows控制台程序演示,后面给出完整的windows服务的代码). 2.前端部分:html5 + jQuery + bootstrap.基本

网页聊天室制作步骤分享

结合网页与Asp来实现一个简单的网页聊天室制作案例,有在线聊天.在线人员名单.在线时间等功能.在这篇教程的最后,还比较详细地介绍了Flash与Asp结合使用的平台环境和常用的调试手段. 一.原理 主要的流程是先在网页端发送一个请求到服务器端,然后等待从服务器端的返回值,当值返回网页端后,根据相应的值做相应的操作.在网页部 分,跟前面的教程一样,用到的主要都是loadVariables()函数和循环等待的技巧.在Asp部分,主要用到了global.asa文件和 application()属性,先定

Javafx模拟QQ机制实现发送表情包的功能

首先,我们来看看QQ发送表情包的方法(发表情包不简单吗?不就是点击一下?) 当我们在待输入框里输入   " / "   的时候,我们发送有提示信息. 结果发现,当我们输入 "/xk"的时候,会直接定位到笑哭的这个表情. 因此我的想法是,当我输入  "//" 含有两个反斜杠的文本消息时,线程那边将会判断它是一个表情包.然后通过"//00","//01","//02"这类字符串,去提取字符串

基于flask的网页聊天室(二)

基于flask的网页聊天室(二) 前言 接上一次的内容继续完善,今天完成的内容不是很多,只是简单的用户注册登录,内容具体如下 具体内容 这次要加入与数据哭交互的操作,所以首先要建立相关表结构,这里使用flask-sqlalchemy来辅助创建 首先修改之前的init文件为: from flask import Flask from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() from web_chatroom.models impor

使用WebSocket实现网页聊天室

知道WebSocket挺久了,但是一直没提起兴趣去了解它. 今天听@成熟的毛毛虫 说到slack.小小的试用了一下,发现slack的聊天功能做得相当强大,看了下网络请求,发现是基于WebSocket实现的.顿时提起兴趣,想了解下这强大的WebSocket. 先了解下WebSocket. 开源中国的介绍:http://www.oschina.net/p/websocket 百度百科的介绍:http://baike.baidu.com/link?url=yMTBVobtkp1E1a0wrRJlnEX

PHP webSocket实现网页聊天室

一.简介 http请求只能由客户端主动发起,服务器响应的模式, 服务器无法主动向客户端推数据,websocket的出现完美的解决了这一问题.websocket和http处于同一层,都是基于TCP协议的,客户端和服务器使用websocket通讯的时候需要握手和传输数据两步,握手借助http状态码101 switch protocol从http协议转换到websocket协议,之后便和http协议无关了. 二.握手 websocket首先由浏览器主动发起一个http请求,主要请求头内容如下:Conn

基于flask的网页聊天室(四)

具体内容上次使用了flask_login做用户登录,但是直接访问login_requare装饰的函数会报401错误,这里可以自定义login_requare拦截后的操作: @login_manager.unauthorized_handlerdef unauthorized(): return redirect(url_for('auth.login'))这样会重定向到登录页面 然后建立了用户的消息表: '''想要学习Python?Python学习交流群:1004391443满足你的需求,资料都