>  기사  >  웹 프론트엔드  >  여러 검색 엔진_javascript 기술과 통합된 JavaScript 페이지 구현 코드

여러 검색 엔진_javascript 기술과 통합된 JavaScript 페이지 구현 코드

WBOY
WBOY원래의
2016-05-16 18:37:271330검색

- 키워드를 입력하고 그 뒤에 있는 검색엔진 링크를 클릭하면 해당 엔진의 페이지로 들어갑니다
- 키워드를 입력하고 Enter 키를 누르면 새 검색엔진을 선택할 때마다 기본 검색엔진이 사용됩니다. 기본 검색 엔진도 그에 따라 변경됩니다
- 마지막으로 사용한 검색 엔진을 자동으로 기억하고 *
여러 검색 엔진_javascript 기술과 통합된 JavaScript 페이지 구현 코드
를 추가합니다. 소스 코드는 다음과 같습니다. 다양한 IE/FF를 사용합니다. 적응 방법:

코드 복사 코드는 다음과 같습니다.


<머리>


내 포털
<스크립트 언어="javascript">
// 这一段使得FireFox也支持IE적innerText 방법
function isIE(){
if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1)
참을 반환합니다.
그렇지 않으면
false를 반환합니다.
}
if(!isIE()){ //firefox innerText 정의
HTMLElement.prototype.__defineGetter__( "innerText",
function(){
var anyString = "";
var childS = this.childNodes;
for(var i=0; i if(childS[i].nodeType==1)
anyString = childS [i].tagName=="BR" ? 'n' : childS[i].innerText;
else if(childS[i].nodeType==3)
anyString = childS[i].nodeValue;
}
return anyString
}
);
HTMLElement.prototype.__defineSetter__( "innerText",
function(sText){
this.textContent=sText;
}
);
}
// 这一段使得FireFox적HTMLElement具유클릭 방법(Mozilla의 HTMLElement에 클릭 방법 추가)
시도하세요 {
// HTMLElement에 액세스할 수 있도록
span 요소를 만듭니다.
문서. createElement('스팬');
HTMLElement.prototype.click = function () {
if (typeof this.onclick == 'function')
this.onclick({type: 'click'});
};
}
catch (e) {
// Alert('HTMLElement의 클릭 메소드를 추가할 수 없습니다.');
}
// 对HTMLAnchorElement 加入onclick事件
try {
// HTMLAnchorElement에 액세스할 수 있도록 요소를 생성합니다.
document.createElement('a');
HTMLElement.prototype.click = function () {
if (typeof this.onclick == 'function') {
if (this.onclick({type: 'click'}) && this.href )
window.open(this.href, this.target? this.target : '_self');
}
else if (this.href)
window.open(this.href, this.target? this.target : '_self');
};
}
catch (e) {
// Alert('HTMLAnchorElement의 클릭 메서드를 추가할 수 없습니다.');
}
// 跟踪回车键事件
function CaptureKeys(evt) {
var keyCode = evt.keyCode ? evt.keyCode :
evt.charCode ? evt.charCode : evt.which;
if (keyCode == 13) {
// 취소 키:
if (evt.preventDefault) {
evt.preventDefault();
}
var dq = getCookie('기본 엔진');
if( dq == null) dq = "baidu_txt";
submit_query( dq );
거짓을 반환합니다.
}
true를 반환합니다.
}
// 쿠키 功能函数
function getCookie(cookieName)
{
var cookieString = document.cookie;
var start =cookieString.indexOf(cookieName '=');
if(start == -1)
return null;
시작 = cookieName.length 1;
var end = cookieString.indexOf(';', start);
if(end == -1)
return unescape(cookieString.substring(start));
return unescape(cookieString.substring(start,end));
}
function setCookie(cookieName, cookieValue)
{
varexpires = new Date();
expires.setTime(expires.getTime() 3*30*24*60*60*1000); // 3개월
document.cookie = cookieName '=' escape(cookieValue) ';expires='expires.toGMTString();
}
function RemoveCookie(cookieName)
{
varexpires = new Date();
expires.setTime(expires.getTime() - 1);
document.cookie = cookieName '=fooxxx;expires='expires.toGMTString();
}
function $(id) {
return document.getElementById(id);
}
// 调式Object용,适用于IE,Firefox下可용firebug
function dumpObject(obj)
{
var temp="";
for (x in obj)
temp = x ": " obj[x] "n";
var popup = window.createPopup();
popup.document.body.innerHTML = '';
popup.show(100, 100, 300, 400, document.body); }
// 多种查询引擎请求分派
function submit_query(t_query)
{
var 키워드 = document.getElementById("keyword");
var mylink = document.getElementById("mylink");
var loc = "";
switch(t_query)
{
case "baidu_txt":
loc = "http://www.baidu.com/s?wd="keyword.value;
휴식;
케이스 "baidu_img":
loc = "http://image.baidu.com/i?ct=201326592&lm=-1&tn=baiduimagenojs&pv=&word="keyword.value "&z=0&pn=0&rn=16&cl= 2";
휴식;
case "yodao_txt":
loc = "http://www.yodao.com/search?q=" encodeURI(keyword.value) "&ue=utf8&keyfrom=web.index";
휴식;
케이스 "yodao_img":
loc = "http://image.yodao.com/search?q=" encodeURI(keyword.value) "&ue=utf8&keyfrom=image.index";
휴식;
case "yodao_dict":
loc = "http://dict.yodao.com/search?q=" encodeURI(keyword.value) "&ue=utf8&keyfrom=dict.index";
휴식;
case "yodao_blog":
loc = "http://blog.yodao.com/search?q=" encodeURI(keyword.value) "&ue=utf8&keyfrom=blog.top";
휴식;
케이스 "iask_ditu":
loc = "http://ditu.iask.com/a/r.php?cl=北京&key="keyword.value;
휴식;
case "verycd":
loc = "http://www.verycd.com/search/folders/" encodeURI(keyword.value);
휴식;
case "google_txt":
loc = encodeURI("http://www.google.com/search?hl=en&q="keyword.value "&btnG=Google Search");
휴식;
케이스 "yahoo_txt":
loc = "http://search.yahoo.com/search?p=" encodeURI(keyword.value) "&vc=&fr=yfp-t-501&toggle=1&cop=mss&ei= UTF-8&fp_ip=CN";
휴식;
case "trans_en":
loc = "http://209.85.171.104/translate_c?hl=en&sl=en&tl=zh-CN&u=http://"keyword.value "/&usg=ALkJrhijPevZUxPtrHDj94k1U9Wo8x7S8g";
휴식;
case "google_code":
loc = "http://www.google.com/codesearch?q="keyword.value "&hl=en&btnG=검색 코드";
휴식;
case "google_scholar":
loc = "http://scholar.google.com/scholar?q="keyword.value "&hl=en&lr=&btnG=Search";
휴식;
}
setEngine(t_query);
setCookie('default-engine', t_query);
mylink.href= loc;
mylink.click();
}
함수 getDefaultEngine()
{
var dq = getCookie('default-engine');
if( dq == null) dq = "baidu_txt";
dq를 반환합니다;
}
function setDefaultEngine()
{
var old_e = getDefaultEngine();
if( $(old_e).innerText.indexOf('*') < 0)
$(old_e).innerText = $(old_e).innerText '*';
}
function setEngine( new_e )
{
var old_e = getDefaultEngine();
if( $(old_e).innerText.indexOf('*') >= 0)
$(old_e).innerText = $(old_e).innerText.replace('*','');
if( $(new_e).innerText.indexOf('*') < 0)
$(new_e).innerText = $(new_e).innerText '*';
setCookie('default-engine', new_e);
}








성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

검색:

百島 
Google 
유도 
博客 
代码 
论文 
百图 
有图 
词典 
地图 
CD 
Yahoo 
翻译