赵荣涛's Archivers

From admin on 2012-04-10 00:37:04

javascript实现指定区域热词链接效果

javascript实现指定区域热词链接效果

html中div class=con 的区域是要实现热词链接的内容。
<div class="con">大众网 山东新闻第一网 网友生活圈</div>
相应的js脚本:
var allow_keyword = '1';
var url = new Array(); //定义需要添加的关键词
//url['山东'] = 'http://sd.dzwww.com/';
url['大众网'] = 'http://www.dzwww.com/';

var objs = document.getElementsByTagName('div');
var textArea = new Array();
var __index = 0;
if (objs && allow_keyword != '0') {
for (i = 0; i < objs.length; i++) {
if (objs[i].className == 'con' || objs[i].className == 'GuideContentInner' || objs[i].className == 'ReplyContent' ) {
textArea[textArea.length] = objs[i]; //定义在哪里启用
}
}
}
function __replaceAll() {
if (textArea.length > __index && allow_keyword != '0') {
var temp = textArea[__index].innerHTML;
var searchEngine='http://www.baidu.com/s?word='; //定义前缀
for(var keyword in url) {
var regex = new RegExp('(' + keyword + ')','i');
if(url[keyword]==''){
url[keyword]=searchEngine+keyword;
}
var targeturl=url[keyword];
if(targeturl.indexOf("CN")>0){ //查链接中是否有“?”,有则加后缀 “&from=forum48”
targeturl=targeturl+'&lr=';
}else{
targeturl=targeturl+'';
}
var searchText = "<a href=\"" + targeturl +"\" target=\"_blank\" class=\"ReplaceKeyword\">$1</a>" //添加链接的模板
temp = temp.replace(regex, searchText);
}
textArea[__index].innerHTML = temp;
__index = __index + 1;
setTimeout('__replaceAll()', 500);
}
}
if (allow_keyword != '0') {
__replaceAll();
}
需要增加关键词时只需增加数组:
url['大众网'] = 'http://www.dzwww.com/';
url['山东'] = 'http://sd.dzwww.com/';
url['体育'] = 'http://sports.dzwww.com/';
这里需要说明一下的是,如果数组赋值为空,如url['山东'] = '';则链接会自动替换为百度搜索的链接地址,形如:
http://www.baidu.com/s?word=山东

查看完整版本: javascript实现指定区域热词链接效果

From 非个人 on 2012-05-22 09:08:02

红头发

Tags: