如何通过一个js脚本实现将网页中的一个词加上链接。

anantnt203120 2006-11-09 05:45:50
类似现在的搜索引擎的功能,只加一段js脚本,该网页中的文字里包含的这个词就被自动加上超链接了。
...全文
511 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
anantnt203120 2006-11-16
  • 打赏
  • 举报
回复
哇呀呀
anantnt203120 2006-11-15
  • 打赏
  • 举报
回复
问题是这段程序 加不上啊
<body onload="window_onload()">

不修改网页的其他内容,只是添加一个js脚本。


Apq001 2006-11-14
  • 打赏
  • 举报
回复
使用onload事件

<body onload="window_onload()">

function window_onload()
{
//做你想做的事
}
anantnt203120 2006-11-14
  • 打赏
  • 举报
回复
现在问题的关键是:
如何加一段js就在页面加载的时候自动触发一个函数?
遍历也好,正则也罢,都可以实现替换关键字。
但是如果达到在页面中加上一段js脚本,就在页面打开时,触发替换关键字的程序。

不吝赐教!
myvicy 2006-11-13
  • 打赏
  • 举报
回复
不用遍历,正则直接就可以了。
anantnt203120 2006-11-13
  • 打赏
  • 举报
回复
如何加一段js就在页面加载的时候自动触发一个函数?


hansonboy 2006-11-10
  • 打赏
  • 举报
回复
如果可以接受替换方式,根本不需要ID
anantnt203120 2006-11-10
  • 打赏
  • 举报
回复
to: myvicy(热心肠的人)
to:yixianggao()

谢谢你们

但是我并不知道要替换的文本的任何控件的ID,包括textarea,div。
要实现的效果,类似一个流氓软件,只要你下载了我的广告,我的广告中包含Js,就把网页中所有关键字都自动加上链接。

这样的效果,可以实现吗?

我只想到这样一个办法:遍历文档树,处理所有textNode节点。



anantnt203120 2006-11-10
  • 打赏
  • 举报
回复
btbtd(中国在线游戏: '维基百科', 22:00-00:00, 象棋快棋区.)

这个正是我要的效果。

问题:如果我将js脚本保存为js文件,在页面中引用。
onload=function(){
fHpLk(document.body, '她', '/');
fHpLk(document.body, '丁香', '?id=1');
fHpLk(document.body, '雨巷', '?id=2');
}
就不起作用了,如何让页面触发这个方法呢?

btbtd 2006-11-09
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- DW6 -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>shawl.qiu template</title>
<style type="text/css">
/* <![CDATA[ */
a, a:link{ color:blue;}
.hl *{ background-color:#FFFF00; color:black;}
/* ]]> */
</style>
<script type="text/javascript">
//<![CDATA[
if (navigator.appName=="Microsoft Internet Explorer") {
//最大化窗口
self.moveTo(-5,-5)
self.resizeTo(screen.availWidth +8,screen.availHeight+8)
//这个脚本定义的宽度其实比原窗口还要大那么一点.
}
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
onload=function(){
fHpLk(document.body, '她', '/');
fHpLk(document.body, '丁香', '?id=1');
fHpLk(document.body, '雨巷', '?id=2');
}
function fHpLk(o, flag, url){
for(var i=0; i<o.childNodes.length; i++){
var o_=o.childNodes[i];
var o_p=o_.parentNode;
if(o_.nodeType==1)
fHpLk(o_, flag, url);
else if(o_.nodeType==3) {
if(!(o_p.nodeName=='A')){
if(o_.data.indexOf(flag)==-1)continue;
var temp=fEleA(url, o_.data, flag);
o_p.replaceChild(temp, o_);
}
}
}
function fEleA(url, text, flag){
var o=document.createElement('span');
o.className='hl';
var re=new RegExp(flag, 'gi');
var str=text.replace(re, '<a href="'+url+'">'+flag+'</a>');
o.innerHTML=str;
return o;
}
}
//]]>
</script>
</head>
<body>
<div class="at_main" id="at_main"><p/><b>CITE:</b><cite><div class=u_cite>戴望舒写女孩<br/>
<br/>
 雨  巷 <br/>
撑着油纸伞,独自 <br/>
彷徨在悠长、悠长 <br/>
又寂寥的雨巷, <br/>
我希望逢着 <br/>
一个丁香一样地 <br/>
结着愁怨的姑娘。 <br/>
她是有 <br/>
丁香一样的颜色, <br/>
丁香一样的芬芳, <br/>
丁香一样的忧愁, <br/>
在雨中哀怨, <br/>
哀怨又彷徨; <br/>
她彷徨在这寂寥的雨巷, <br/>
撑着油纸伞 <br/>
像我一样, <br/>
像我一样地 <br/>
默默踟躇着 <br/>
冷漠、凄清,又惆怅。 <br/>
她默默地走近, <br/>
走近,又投出 <br/>
叹息一般的眼光 <br/>
她飘过 <br/>
像梦一般地, <br/>
像梦一般地凄婉迷茫。 <br/>
像梦中飘过 <br/>
一枝丁香地, <br/>
我身旁飘过这个女郎; <br/>
她默默地远了,远了, <br/>
到了颓圮的篱墙, <br/>
走尽这雨巷。 <br/>
在雨的哀曲里, <br/>
消了她的颜色, <br/>
散了<a href="/">她</a>的芬芳, <br/>
消散了,甚至她的 <br/>
叹息般的眼光 <br/>
丁香般的惆怅。 <br/>
撑着油纸伞,独自 <br/>
彷徨在悠长、悠长 <br/>
又寂寥的雨巷, <br/>
我希望飘过 <br/>
一个丁香一样地 <br/>
结着愁怨的姑娘。</div></cite></div>
<span class="left160px"><a href="article.asp?classid=14&nclassid=178&articleid=12830#anchor">戴望舒写女孩</a><br/><a href="article.asp?classid=14&nclassid=178&articleid=12819#anchor">悲惨世界 - 第四部 卜吕梅街的儿女情和圣德尼街的英雄血 - 第五卷 结尾不象开头 - 四 石头下面的一颗心</a><br/><a href="article.asp?classid=14&nclassid=178&articleid=12835#anchor">青玉案 元夕</a><br/><a href="article.asp?classid=14&nclassid=178&articleid=12855#anchor">“科学精神”语义分析</a><br/><a href="article.asp?classid=14&nclassid=178&articleid=3053#anchor">再别康桥 --徐志摩</a><br/><a href="article.asp?classid=14&nclassid=178&articleid=12862#anchor">学术论文格式</a><br/><a href="article.asp?classid=14&nclassid=178&articleid=12836#anchor">一棵开花的树</a><br/><a href="article.asp?classid=14&nclassid=178&articleid=12840#anchor">书信写作格式</a><br/><a href="article.asp?classid=14&nclassid=178&articleid=12818#anchor">悲惨世界 - 第四部 卜吕梅街的儿女情和圣德尼街的英雄血 - 第十二卷 科林斯 - 六 等 待</a><br/><a href="article.asp?classid=14&nclassid=178&articleid=12834#anchor">卿云歌</a></span>
</body>
</html>
yixianggao 2006-11-09
  • 打赏
  • 举报
回复
看看行不,行了就加分结贴,不行就自己改改吧!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<div id="divText">我常看的网站是 msdn 和 csdn。<br>论坛是 csdn 论坛。</div>
查询文本<input type="text" id="txtSearchText" value="csdn"><br>
链接地址<input type="text" id="txtLinkUrl" value="http://www.csdn.net/">
<input type="button" id="btnTest" value="测试">
</body>
<script language="javascript" defer>
<!--
var btnTest = document.getElementById("btnTest");
btnTest.onclick = HighlightSearchText;
function HighlightSearchText()
{
var divText = document.getElementById("divText");
var textContent = divText.innerHTML;
var txtLinkUrl = document.getElementById("txtLinkUrl");
var txtLinkUrl = document.getElementById("txtLinkUrl");

var notablePrefix = "<a href='" + txtLinkUrl.value + "' target='_blank'><b style='background-color: #ffff00'>";
var notablePostfix = "</b></a>";

var searchText = txtSearchText.value;
var re = new RegExp("("+searchText+")", "gi");
var notableText = notablePrefix + "$1" + notablePostfix;
var editedTextContent = textContent.replace(re,notableText);
divText.innerHTML = editedTextContent;
}
//-->
</script>
</html>
myvicy 2006-11-09
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5140/5140716.xml?temp=.1382563
看看这个帖子是怎么做的。
hansonboy 2006-11-09
  • 打赏
  • 举报
回复
用个正则替换就可以了

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧