搜索javascript,搜索引擎优化
怎样用 Javascript 模拟点击按钮执行搜索?
1、使用js模拟,其实就是给按钮添加onclick命令,然后表单action写好跳转后台处理方法,数据发送方式,默认的发送命令是form.submit()。直接发送出去。
10多年的青浦网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整青浦建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“青浦网站设计”,“青浦网站推广”以来,每个客户项目都认真落实执行。
form action="/fmpost" method="post" name="fm"
button name="btn" onclick="fm.submit();"/button
/form
2、或者表单action不写跳转方法,直接在button的onclick上写好发送链接。
form action="" method="post" name="fm" id="fm"
button name="btn" onclick="document.getElementById('fm').action='/fmpost';document.getElementById('fm').submit();"/button/form
搜索引擎能识别js文件吗?
1、js就是调用一个js文件 也就是利用js来调用某些经常需要更改的东西。js文件只需用记事本就可打开修改,修改完成必须以js为后缀的文件。搜索引擎读取不了js文件,因此我们才会将一些与页面不相关的内容,以js外部文件方式调用,以提高网站主题性。js会被运用在ajax里,也就是异步传输,就像你在搜索框里输入字,然后下面会出来一排搜索提示,因为这个数据具有高度可变异性,非常难以处理。js代码因为都是一些脚本编程语言,常见的很多页面特效都是采用js代码,有代码常识的人都能看出来js代码存在大量循环函数,一旦蜘蛛爬进去了,它就爬不出来了,一直处于死循环状态了,因此搜索引擎不太敢读js文件。随着搜索引擎技术提高,现在的谷歌已经具备读取简单js代码能力,不过百度目前还是比较忌讳js。2、切记不要阻止对.js文件的收录 很多站长会使用js技术,采用.js文件导入的形式。假如采用了搜索引擎阻止抓取的命令,就会导致搜索引擎不能抓取.js文件,从而导致其不能很好的对js进行识别。这样不仅会限制javascript解析的能力,而且对网站优化也是不利的,因此建议不要阻止.js文件的抓取。3、复杂的javascript技术影响搜索引擎收录 建议站长不要使用过于复杂的javascript技术,这对搜索引擎的收录十分不利。搜索引擎技术的应用也是从简单到复杂,从不完善到不断成熟,只能认识简单的js代码,对于复杂的js代码还不能识别,因此现在站长尽量选用简单的js代码,这样也有利于seo网站优化。4、静态和动态链接要合理划分
JS怎么实现站内搜索功能?
一:对文章关键字的搜索(数组的方法):
!DOCTYPE html
html
head
meta charset="utf-8" /
title/title
style type="text/css"
#search{
height:40px;width: 200px;font-size: 30px;text-align: center;
}
#div {
font-size: 20px;width: 600px;
}
#div span{
color: red;
}
/style
/head
body
input type="text" name="search" id="search" value="馋" onclick="this.value='' "/
input type="button" name="" id="bbtn" value="搜索" /
div id="div"
p馋,在英文里找不到一个十分适当的字。罗马暴君尼禄,以至于英国的亨利八世,在大宴群臣的时候,常见其撕下一根根又粗又壮的鸡腿,举起来大嚼,旁若无人,好一副饕餮相!但那不是馋。埃及废王法鲁克,据说每天早餐一口气吃二十个荷包蛋,也不是馋,只是放肆,只是没有吃相。对有某一种食物有所偏好,于是大量的吃,这是贪多无厌。馋,则着重在食物的质,最需要满足的是品味。上天生人,在他嘴里安放一条舌,舌上还有无数的味蕾,教人焉得不馋?馋,基于生理的要求;也可以发展成为近于艺术的趣味。
也许我们中国人特别馋一些。馋字从食,有声。毚音谗,本义是狡兔,善于奔走,人为了口腹之欲,不惜多方奔走以膏馋吻,所谓“为了一张嘴,跑断两条腿”。/p
/div
script type="text/javascript"
var bbtn=document.getElementById('bbtn');
var search=document.getElementById('search');
var text=document.getElementsByTagName('p')[0];
var text1=text.innerHTML;
var arr=[];
var str=text1;
bbtn.onclick=function(){
str=text1
arr=search.value;
str=str.split(arr).join('span'+arr+'/span');
text.innerHTML=str;
}
/script
/body
/html
二:对li表单的搜索:
!DOCTYPE html
html
head
meta charset="UTF-8"
title/title
style type="text/css"
*{
padding: 0;margin: 0;
}
#content{
margin: 100px 300px;display: block;
}
input{
height: 50px;width: 400px;font-size: 30px;line-height: 50px;
}
ul{
}
li{
margin:10px 0px;display: block;
}
/style
/head
body
div id="content"
ul
input type="" name="" id="" value="" placeholder="请输入城市的名称或拼音"/
li pname="北京" cname="bj"北京/li
li pname="株洲" cname="zz"株洲/li
li pname="上海" cname="sh"上海/li
li pname="长沙" cname="cs"长沙/li
li pname="杭州" cname="hz"杭州/li
li pname="天津" cname="tj"天津/li
li pname="西安" cname="xa"西安/li
li pname="成都" cname="cd"成都/li
li pname="武汉" cname="wh"武汉/li
li pname="南京" cname="nj"南京/li
/ul
/div
script type="text/javascript"
var li=document.getElementsByTagName('li');
var text=document.getElementsByTagName('input')[0];
function search(){
var arr=text.value;
for(var i=0;ili.length;i++)
{
li[i].style.display="none";
if(li[i].getAttribute('pname').indexOf(arr)!=-1||li[i].getAttribute('cname').indexOf(arr)!=-1)
{
li[i].style.display="block";
}
}
}
text.oninput=function(){
search();
}
/script
/body
/html
JavaScript静态搜索
代码:
1 form.htm
起始页面,页面里有查询框。
script language="javascript"
function gosearch(){
if (str.value==""){ alert ("请输入查找的内容!"); return false; }
window.location="query.htm?"+str.value;
}
function getkey(){
if(window.event.keyCode == 13) gosearch();
}
/script
input name="str" type="text" id="str" /
input type="button" name="Button" value="查找" onclick="gosearch()" /
script
str.focus();
document.onkeydown=getkey;
/script
2 query.htm
搜索页面,接收上个页面 传来的参数。
script language="javascript"
var titlearray = new Array(); //关键字数组
var urlarray = new Array(); //超级链接数组
var fitarray = new Array(); //符合要求的数组
/script
script type="text/javascript" src="title.js"/script//加载关键字
script type="text/javascript" src="url.js"/script//加载超级链接
script language="javascript"
var args = window.location.href.split("?");//用问号为间隔,各个参数写入数组args
var target = args[1]; //要找的字符串
for (var i=0; ititlearray.length; i++){
if (titlearray[i].indexOf(target)!=-1){
fitarray.push(i);//将要找的结果写入数组。也可以不用数组,直接显示。
}
}
var resultstr = "";
if (fitarray.length ==0 ){
resultstr += "抱歉,没有找到资料。";
}
for (j in fitarray){
resultstr += "a href=\""+ urlarray [fitarray[j]] +"\" target=\"_blank\""+ titlearray[fitarray[j]]+"
";//结果内容赋值给了resultstr
}
/script
div id="result"/div
script language="javascript"
document.getElementById("result").innerHTML += resultstr;//显示结果内容
/script
3 title.js 关键字文件
titlearray [0] = "keyword1";
titlearray [1] = "keyword2";
titlearray [2] = "keyword3";
url.js 超级链接文件
urlarray [0] = "1.htm";
urlarray [1] = "2.htm";
urlarray [2] = "3.htm";
这两个文件需要下标对应,不能错位。
如何用Javascript实现搜索功能
这里有一个简单的站内搜索功能
SCRIPT language=javascript
!--
function go(formname)
{
var url = ;
formname.method = "get";
if (formname.myselectvalue.value == "1") {
document.search_form1.word.value = document.search_form1.word.value " site:";
}
formname.action = url;
return true;
}
//--
/SCRIPT
form name="search_form1" target="_blank" onsubmit="return go(this)"
input name=word size="30" value="请输入关键字" onMouseOver="this.focus()" onBlur="if (value ==''){value='请输入关键字'}" onFocus="this.select()" onClick="if(this.value=='请输入关键字')this.value=''"
input type="submit" value="搜索"br
INPUT name=myselectvalue type=hidden value=0
INPUT name=tn type=hidden value="sayyes"
INPUT name=cl type=hidden value="3"
INPUT CHECKED name=myselect onclick=javascript:this.form.myselectvalue.value=0; type=radio value=0
FONT color=#0000cc style="FONT-SIZE: 12px"互联网
INPUT name=myselect onclick=javascript:this.form.myselectvalue.value=1; type=radio value=1
FONT color=#ff0000 style="FONT-SIZE: 12px"站内
/form
javascript搜索功能是怎么实现的?要跟后台交互吧?是不是和过滤功能差不多原理?
搜索功能有多种实现方式 ,前后端都可以实现
第一种:
页面内搜索(类似CTRL+F),这个可以纯前端完成,直接用js匹配搜索结果,进行隐藏显示或改变颜色等
第二种:
纯后端方案,将搜索的字符串拼接到一个新的url参数后,然后跳转到生成的url上,直接显示新页面搜索结果,如最早的baidu搜索就是一个跳转 ,目前baidu已经不使用这种方式
第三种:
Ajax搜索,需要前后端配合,将关键字发送一个请求到后端,后端需要将结果的数据传给前端,前端根据返回的数据,重新对页面部分进行渲染
CTRL+F不支持正则,这个是浏览器自带的功能,由于正则对于普通用户来说,是很专业的,浏览器一般不会去支持很少有人会用的功能,当然是否支持取决于浏览器厂商的想法
网站栏目:搜索javascript,搜索引擎优化
文章转载:http://pwwzsj.com/article/dsedhpj.html