javascript实现划词搜索功能(兼容IE,firefox,opera)
网上流传的Js版划词搜索代码浏览器兼容上有问题,经过两天的改写终于做出可兼容非IE的版本.
JS代码
默认搜索引擎为:google
转自: js中国 http://www.javascriptcn.cn
http://javascriptxml.5d6d.com/thread-2-1-1.html
if (navigator.appName=="Microsoft Internet Explorer") {
document.body.onload=adddiv;
document.onmousedown=recordobj;
document.ondblclick=dbclick;
document.onmouseup=showselect;
} else
{
//firefox
window.onload=adddiv();
window.onmousedown=recordobj;
window.ondblclick=dbclick();
window.onmouseup=showselect;
}
///
var starobj,
isdb=false,
allow=true;
///
function isallow()
{
if(allow){
allow=false;
alert('is closed');
}
else{
allow=true;
alert('is opend');
}
}
////
function dbclick()
{
isdb=true;
}
/////
//function recordobj(evt)
//{
//starobj=event.srcElement; //IE
//starobj=evt.target
//}
function recordobj(evt) {
evt = (evt) ? evt : ((window.event) ? window.event : "")
if (evt) {
starobj = (evt.target) ? evt.target : evt.srcElement
}
//starobj=evt.srcElement;
}
////
function showselect(evt) {
//test
var obj;
var strlen;
evt = (evt) ? evt : ((window.event) ? window.event : "")
if (evt) {
if (evt.target)
{
obj = evt.target;
strlen = window.getSelection().toString();
}
else
{
obj = event.srcElement;
strlen = document.selection.createRange().text;
}
}
//test
var str="";
if(obj.tagName!="A"&&obj.tagName!="INPUT"&&obj==starobj&&!isdb&&allow)
{
//var oText=document.selection.createRange(); //IE
//alert(window.getSelection());
//alert(window.getSelection().toString().length);
//if(window.getSelection().length>0) //错误写法
////
//if(window.getSelection().toString().length>0)
if(strlen.length>0)
{
//alert("ddd"+window.getSelection().boundingWidth());
//alert("dddddddddddddddddddd000");
str=strlen;
//oText.text="BuB"+oText.text+"EuE";
}
//oText.select();
//window.getSelection.select()
}
//alert("自负" + str);
searchgoogle(str,evt);
isdb=false;
}
//
function searchgoogle(str,evt)
{
var obj=document.getElementById("searchgoogle");
//alert("长度"+str.toString().length);
if(str.toString().length>0)
{
//alert("tongguo");
//alert(obj);
obj.style.display="block";
obj.style.position="absolute";
obj.style.zindex=999;
//alert("y" + evt.clientY + "X" + evt.clientX);
//
//alert(document.body.scrollTop.toString());
//alert("new" + document.documentElement.scrollTop.toString());
//
if(navigator.appName=="Microsoft Internet Explorer")
{
obj.style.widht=80;
obj.style.posTop=document.body.scrollTop+event.y-25;
obj.style.posLeft=document.body.scrollLeft+event.x+5;
}
else
{
obj.style.width = "100px";
obj.style.top=evt.pageY-25;
obj.style.left=evt.pageX+5;
}
obj.innerHTML="<a target=_blank href=http://www.google.com/search?ie=UTF-8&oe=UTF-8&q="+encodeURI(str)+" style='BORDER-RIGHT: royalblue thin solid; BORDER-TOP: royalblue thin solid; FONT-WEIGHT: bold; BORDER-LEFT: royalblue thin solid; CLIP: rect(auto auto auto auto); COLOR: #ffffff; BORDER-BOTTOM: royalblue thin solid; BACKGROUND-COLOR: inactivecaption; TEXT-DECORATION: none'>Search It!</a>";
}
else
{
obj.style.display="none";
}
}
///
function adddiv()
{
var mobj = document.createElement("div");
mobj.id="searchgoogle";
document.body.appendChild(mobj);
}
//-->
直接在html页面中调用即可实现网页划词搜索功能.
转载于:https://www.cnblogs.com/wangxiang/articles/926462.html
javascript实现划词搜索功能(兼容IE,firefox,opera)相关推荐
- Javascript实现划词标记+划词搜索功能代码实例
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> ...
- 网页划词标记划词搜索功能
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- 每次打开百度太麻烦?用程序直接打开网页 Python实现百度划词搜索功能(获取剪切板数据)
浏览顺序 实现划词功能 运行错误 解决问题 转载声明 实现划词功能 说是划词翻译,实际上我们是通过获取用户的剪切板内容,通过一系列的操作得到的.首先呢,我们就先实现如何获取剪切板内容的程序 首先先在桌 ...
- QQ2010 SP1新版划词搜索功能演示
官方网http://im.qq.com/qq/2010/standard_sp1/###站:其主要功能可以在聊天窗口右边显示广告位,不用打开浏览器不占用电脑内存,方便边搜边聊. 站长之家Chi ...
- JavaScript特效:划词搜索
<html> <head> <title>划词搜索</title> <meta http-equiv="Content-Type&quo ...
- 有道词典的划词搜索功能加入生成的百度链接
项目:在<有道词典>的划词搜索里增加百度搜索链接. 概述:有道词典有几个版本增加一个功能,在划词后,可以查看有道网页搜索的结果,很方便.6以后的版本这个功能消失了,所以一直在使用5.X版本 ...
- javascript实现划词标记划词搜索功能
完整示例代码如下: 以下是引用片段: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> & ...
- javascript实现划词标记+划词搜索功能
完整示例代码如下 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ...
- 禁用火狐浏览器的划词搜索功能
按着如下步骤,去掉复选框[启用拖拽手势]
- 划词搜索实现(备忘)
最近,需要做个划词搜索功能.在网上找了好些,最后,参照http://www.cnblogs.com/xinxi/archive/2009/09/28/1575466.html进行修改,实现了想要的功能 ...
最新文章
- Run-Time Check Failure #2 - S
- 我在OSC的第一篇博文
- [codevs 1035] 火车停留
- 光学基础知识:白光、颜色混合、RGB、色彩空间
- 会走索引吗 oracle_茅台酒会走兰花的老路吗?
- oracle报27040错误,【oracle案例】创建表空间时遇到 ORA-01119,0RA-27040,0SD-04002
- 【PyQt5与Requests爬虫】设计图形界面(GUI)实现小说下载器-进度条显示
- 第一次使用拉勾网求职经历
- [渝粤教育] 广东-国家-开放大学 21秋期末考试马克思主义基本原理概论(A)10882k1
- 中国云计算已沦为系统集成商
- Java的短信接口的使用
- 最优化理论基础与方法学习笔记——凸集与凸函数以及手写定理证明
- 六大设计原则之开闭原则
- 《医院管理系统》项目研发总结
- 笔记:poi学习之实现合同打印
- java后端接收前端传来的String数组
- JavaWeb开发工具
- Windows11/Win10+VS2019下载编译WebRTC源码
- Object.assign()详解
- 微信小程序模板消息限制,实现无限制主动推送