首先判斷傳遞過來的是否多關鍵字 keyword爲最初關鍵字javascript
多關鍵字由空格分隔開java
if(keyword.indexOf(" ")!=(-1)){orm
keywordjs=keyword.replaceAll(" ","+");ip
}else{字符串
keywordjs=keyword;get
}input
而後在頁面加入一個隱藏域keywordjs,加入value值爲Java中處理好的字符串it
<form name="keyform">io
<input type="hidden" value=<%=keywordjs%> name="keywordjs" id="keywordjs">ast
</form>
最後經過JS獲取隱藏域keywordjs的值,並將關鍵字紅色提示
<script language="javascript" type="text/javascript">
var keyss = document.getElementById("keywordjs").value;
var keys = keyss.split("+");
var bookmark;
if(document.createRange){
var range = document.createRange();
}else{
var range = document.body.createTextRange();
bookmark = range.getBookmark();
}
var key;
for(var i = 0;key = keys[i];i++){
if(range.findText){
range.collapse(true);
range.moveToBookmark(bookmark);
while(range.findText(key)){
range.pasteHTML(range.text.fontcolor("#ff0000"));
}
}else{
var s,n;
s = window.getSelection();
s.collapse(document.body,0);
while(window.find(key)){
var n = document.createElement("SPAN");
n.style.color="#ff0000";
s.getRangeAt(0).surroundContents(n);
}
}
}
</script>
對於一些傳遞至JS會異常的特殊字符沒有進行處理