网上流传的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)相关推荐

  1. Javascript实现划词标记+划词搜索功能代码实例

    <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> ...

  2. 网页划词标记划词搜索功能

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  3. 每次打开百度太麻烦?用程序直接打开网页 Python实现百度划词搜索功能(获取剪切板数据)

    浏览顺序 实现划词功能 运行错误 解决问题 转载声明 实现划词功能 说是划词翻译,实际上我们是通过获取用户的剪切板内容,通过一系列的操作得到的.首先呢,我们就先实现如何获取剪切板内容的程序 首先先在桌 ...

  4. QQ2010 SP1新版划词搜索功能演示

        官方网http://im.qq.com/qq/2010/standard_sp1/###站:其主要功能可以在聊天窗口右边显示广告位,不用打开浏览器不占用电脑内存,方便边搜边聊. 站长之家Chi ...

  5. JavaScript特效:划词搜索

    <html> <head> <title>划词搜索</title> <meta http-equiv="Content-Type&quo ...

  6. 有道词典的划词搜索功能加入生成的百度链接

    项目:在<有道词典>的划词搜索里增加百度搜索链接. 概述:有道词典有几个版本增加一个功能,在划词后,可以查看有道网页搜索的结果,很方便.6以后的版本这个功能消失了,所以一直在使用5.X版本 ...

  7. javascript实现划词标记划词搜索功能

    完整示例代码如下: 以下是引用片段: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> & ...

  8. javascript实现划词标记+划词搜索功能

    完整示例代码如下 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ...

  9. 禁用火狐浏览器的划词搜索功能

    按着如下步骤,去掉复选框[启用拖拽手势]

  10. 划词搜索实现(备忘)

    最近,需要做个划词搜索功能.在网上找了好些,最后,参照http://www.cnblogs.com/xinxi/archive/2009/09/28/1575466.html进行修改,实现了想要的功能 ...

最新文章

  1. Run-Time Check Failure #2 - S
  2. 我在OSC的第一篇博文
  3. [codevs 1035] 火车停留
  4. 光学基础知识:白光、颜色混合、RGB、色彩空间
  5. 会走索引吗 oracle_茅台酒会走兰花的老路吗?
  6. oracle报27040错误,【oracle案例】创建表空间时遇到 ORA-01119,0RA-27040,0SD-04002
  7. 【PyQt5与Requests爬虫】设计图形界面(GUI)实现小说下载器-进度条显示
  8. 第一次使用拉勾网求职经历
  9. [渝粤教育] 广东-国家-开放大学 21秋期末考试马克思主义基本原理概论(A)10882k1
  10. 中国云计算已沦为系统集成商
  11. Java的短信接口的使用
  12. 最优化理论基础与方法学习笔记——凸集与凸函数以及手写定理证明
  13. 六大设计原则之开闭原则
  14. 《医院管理系统》项目研发总结
  15. 笔记:poi学习之实现合同打印
  16. java后端接收前端传来的String数组
  17. JavaWeb开发工具
  18. Windows11/Win10+VS2019下载编译WebRTC源码
  19. Object.assign()详解
  20. 微信小程序模板消息限制,实现无限制主动推送

热门文章

  1. 为什么我劝你放弃了Restful API?
  2. 竟然才发现,Github上还有开源的面试项目
  3. 支付宝系统架构(内部架构图)
  4. 19年Q2了,运维的你有啥计划吗?
  5. 你真的需要一个微信公众号吗?
  6. 安装php-zbarcode的步骤方法
  7. jdbc编程遇到文件上传
  8. SA: 情感分析资源(Corpus、Dictionary)
  9. SEO专题之三:SEO与网站开发
  10. 增加javascript的trim函数