利用ajax制作在线翻译聊天室
作者:baula84 来源:蓝色理想 发布时间:2007-12-28 21:44:00
标签:翻译,聊天室,ajax,xmlhttp
前几天同学要我帮他做个国际聊天室,要求能够将聊天的内容自动翻译成多国语言.本来想用worldlink的翻译服务,但是用ajax很难获得结果,后来偶想到用google的翻译服务了,用ajax获取翻译结果.
相关文章:Google发布网页在线翻译小工具
演示页面: www.goodeye.com.cn/login.aspx 大家用个123就可以登陆了
核心代码
function send(){
if(document.getElementById("isTrans").checked){
ajaxsend();
}else{
text=document.getElementById("content").value;
send2DataBase(text);
}
}
function ajaxsend(){
text=encodeURI(document.getElementById("content").value);
var langpair=document.getElementById("langpair").value;
var hl=document.getElementById("hl").value;
var file;
file="123.asp?text="+ text + "&langpair=" + langpair + "&hl=" + hl;
var objXmlHttp=null;
if(window.XMLHttpRequest){
objXmlHttp=new XMLHttpRequest();
}else if(window.ActiveXObject){
objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else
{
return;
}
objXmlHttp.onreadystatechange=function(){
if(objXmlHttp.readystate==4){
var strValue=objXmlHttp.responseText;
if (strValue.length!=0){
try{
if(strValue.indexOf("<div id=result_box dir=ltr>")>0){
var msg=strValue.indexOf("<div id=result_box dir=ltr>")
var msg2=strValue.indexOf("</div></td></tr><tr><td id=submitcell>")
var result=strValue.substring(msg,msg2);
result=result.replace("<div id=result_box dir=ltr>","");
send2DataBase(result)
}
}catch(e){
alert("翻译服务器设置发生改变!");
}
}
else{
}
}
}
objXmlHttp.open ('GET', file, true);
objXmlHttp.send ('');
}
function send2DataBase(txtContent){
if (txtContent == "") return;
var user_to = document.getElementById("userlist").value; //聊天对象
var textcolor = document.getElementById("textcolor").value; //颜色
var expression = document.getElementById("expression").value; //表情
var isPublic = !(document.getElementById("isSecret").checked); //是否密谈
//调用服务器端方法发送消息
ChatRoom.SendMsg(txtContent, user_to, textcolor, expression, isPublic);
//更新聊天内容显示
var div = document.getElementById("chatcontent");
div.innerHTML = ChatRoom.GetNewMsgString().value + div.innerHTML;
//清空输入框
document.getElementById("content").value = "";
}
123.asp源文件
<%@ CODEPAGE=65001 %>
<% Response.CodePage=65001%>
<% Response.Charset="UTF-8" %>
<%
dim text,langpair,hl
text=trim(request("text"))
langpair=request("langpair")
hl=request("hl")
if text="" and langpair="" and hl="" then
response.write "don't break my heart!"
end if
dim htmls
text=server.Urlencode(text)
dim strUrl:strUrl="http://translate.google.com/translate_t?text="+text+"&langpair="+langpair+"&hl="+hl+"&oe=UTF8"
htmls=getHTTPPage(strUrl)
response.write htmls
function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"UTF-8")
set http=nothing
if err.number<>0 then err.Clear
end function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
%>


猜你喜欢
- 最近Google Code推出了一个面向网站开发者的 * Google DocType。它来自于网站开发者同时又面
- CTE(Common Table Expressions)是从SQL Server 2005以后版本才有的。指定的临时命名结果集,这些结果集
- 一、安装MySQL 目前web服务器已经很少有跑静态页面
- 本文实例为大家分享了python实现双色球随机选号的具体代码,供大家参考,具体内容如下双色球随机选号实现代码from random impo
- 语法: text-overflow : clip | ellipsis 参数: clip : 不显示省略标记(...),而是简单的裁切 el
- Pytorch的数据类型为各式各样的Tensor,Tensor可以理解为高维矩阵。与Numpy中的Array类似。Pytorch中的tens
- 使用Keras作前端写网络时,由于训练图像尺寸较大,需要做类似 tf.random_crop 图像裁剪操作。为此研究了一番Keras下已封装
- 由于opencv读入图片数据类型是uint8类型,直接加减会导致数据溢出现象(1)用Numpy操作可以先将图片数据类型转换成int类型进行计
- 函数名称:CheckForm_JS(frmName,errStr)功能:用ASP的方法动态写出JavaScript的表单验证的函数check
- 模式特点:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。我们来看一下下面这样的程序结构:c
- 前言YOLOV5模型从发布到现在都是炙手可热的目标检测模型,被广泛运用于各大场景之中。因此,我们不光要知道如何进行yolov5模型的训练,而
- 在上一篇文章中,我们介绍了如何使用源码对TensorBoard进行编译教程,没有定制需求的可以直接使用pip进行安装。TensorBoard
- (需要安装psutil 用来获取服务器资源,以及pymongo驱动)#pip install psutil#pip install pymo
- 1.前言数据库的重要性相信大家都有所了解,作为各种数据的电子资料夹,其中可能包含了各种信息,从企业员工信息到网站访问或成交数据无所不包,甚至
- 介绍 IIRF是一款开源的重写URL过滤器,类似于Apache的URL重写,基于VC8.0(可以用Visual Studio200
- 介绍我们一起来做个示例,在.NET中新建一个类,并在这个类里新建一个方法,然后在SQL Server中调用这个方法。按照微软所述,通过宿主
- 1. 项目背景视频传输: 在一台电脑上播放视频(捕捉摄像头画面),同局域网内另一台电脑上实时播放,尽量不卡顿。先放最后的照片,和用gif展示
- Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼、富有朝气。但也许你还没有发现并应用它的一些更高级的功能吧
- 本文为大家分享了opencv图片模糊和锐化的具体实现代码,供大家参考,具体内容如下一、模糊操作#!/usr/bin/env python#
- 1. random库基本介绍Random库时使用随机数的python标准库伪随机数:采用梅森旋转算法生成的(伪)随机序列中的元素Random