JavaScript实现网页划词高亮与Google搜索功能

作者:代码拾荒

时间:2026-10-29

浏览:252

本文提供一段完整的JavaScript代码,实现在网页中选中文字后自动高亮并弹出Google搜索链接的功能。通过监听鼠标事件动态创建DOM元素,利用TextRange获取选中内容,实现划词标记与快捷搜索的集成。

文章目录

JavaScript划词标记与搜索实现代码

具体实现代码如下所示:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<SCRIPT language=javascript>
<!--  
document.body.onload=adddiv;
document.onmousedown=recordobj;
document.ondblclick=dbclick;
document.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()
{  
starobj=event.srcElement;
}  
function showselect() {
var str="";
if(event.srcElement.tagName!="A"&&event.srcElement.tagName!="INPUT"&&event.srcElement==starobj&&!isdb&&allow)
{  
var oText=document.selection.createRange();
if(oText.text.length>0)
{  
str=oText.text;
oText.text="BuB"+oText.text+"EuE";
}  
oText.select();
event.srcElement.innerHTML=event.srcElement.innerHTML.replace("BuB","<u style='FONT-WEIGHT: bold;COLOR: #ff3366'>").replace("EuE","</u>");
}  
searchgoogle(str)
isdb=false;
}  
function searchgoogle(str)
{  
var obj=document.getElementById("searchgoogle");
if(str.length>0)
{  
obj.style.display="block";
obj.style.position="absolute";
obj.style.zindex=999;
obj.style.posTop=document.body.scrollTop+event.y-25;
obj.style.posLeft=document.body.scrollLeft+event.x+5;
obj.style.widht=80;
obj.innerHTML="<a target=_blank href=http://www.google.com/search?ie=UTF-8&oe=UTF-8&q="+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);
}  
//-->  
</SCRIPT>
<INPUT type="button" onclick="isallow()" value="关闭/打开划词功能">
<p>qrasfdasfasfdasfsafasdfsafsafasdfasdfasd</p>
</body>
</html>


将上述代码嵌入页面即可实现该功能,同时具备搜索能力。演示效果可参考本博客页面中鼠标划选文字时的实际表现。



由于代码尚未整理,结构可能显得较为杂乱。


实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章