`
rikugun
  • 浏览: 345773 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

改进一下 Google Search Language Select脚本

    博客分类:
  • Js
阅读更多
今天还真闲,看了下userscripts.
发现这个 Google Search Language Select 还真不错,可以切换查询结果的语言




但是没有中文的菜单,手多给加了一个

// ==UserScript==
// @name         Google Search Language Select
// @namespace    Yamamaya
// @description  You can select language options.
// @include      http://www.google.*/search*
// @include      http://www.google.*/webhp?*
// @version      0.0.2
// ==/UserScript==

(function(){
	evalInPage(function(){
		var GOOGLE = google;
		var LANGUAGE = GOOGLE.kHL;
	
		var googleSearch = {
			init: function(){
				this.createLanguageSelect();
				this.launguageSelectToggle();
				this.formSubmit();
			},
			createLanguageSelect: function(){
				var language = (LANGUAGE === 'ja') && {
					'英語': 'lang_en',
					'スペイン語': 'lang_es',
					'ポルトガル語': 'lang_pt',
					'フランス語': 'lang_fr',
					'イタリア語': 'lang_it',
					'ドイツ語': 'lang_de',
					'ロシア語': 'lang_ru',
					'中国語 簡体': 'lang_zh-CN',
					'中国語 繁体': 'lang_zh-TW',
					'韓国語': 'lang_ko',
					'日本語': 'lang_ja'				
				} 
				|| (LANGUAGE === 'zh-CN') && {
					'英文': 'lang_en',
					'西班牙文': 'lang_es',
					'葡萄牙文': 'lang_pt',
					'法文': 'lang_fr',
					'意大利文': 'lang_it',
					'德文': 'lang_de',
					'俄文': 'lang_ru',
					'简体中文': 'lang_zh-CN',
					'繁体中文': 'lang_zh-TW',
					'韩文': 'lang_ko',
					'日文': 'lang_ja'		
				}
				|| (LANGUAGE === 'zh-TW') && {
					'英文': 'lang_en',
					'西班牙文': 'lang_es',
					'葡萄牙文': 'lang_pt',
					'法文': 'lang_fr',
					'意大利文': 'lang_it',
					'德文': 'lang_de',
					'俄文': 'lang_ru',
					'簡體中文': 'lang_zh-CN',
					'正體中文': 'lang_zh-TW',
					'韓文': 'lang_ko',
					'日文': 'lang_ja'		
				}
				|| {
					'English': 'lang_en',
					'Spanish': 'lang_es',
					'Portuguese': 'lang_pt',
					'French': 'lang_fr',
					'Italian': 'lang_it',
					'German': 'lang_de',
					'Russian': 'lang_ru',
					'Chinese (Simplified)': 'lang_zh-CN',
					'Chinese (Traditional)': 'lang_zh-TW',
					'Korean': 'lang_ko',
					'Japanese': 'lang_ja'				
				};
			
				var point = document.getElementById('prs');
				var a = document.createElement('a');
				with(a.style){
					margin = '0px 20px';
				};
				a.href = '#';
				a.id = 'language_select_toggle';
				a.textContent = 'Language Options';
				point.appendChild(a);
			
				var t = a.offsetTop + 5;
				var l = a.offsetLeft;
				var ul = document.createElement('ul');
				ul.id = 'language_select_ul';
				with(ul.style){
					padding = '10px';
					backgroundColor = '#3274D0';
					position = 'absolute';
					top = t + 'px';
					left = l + 'px';
					zIndex = '9999999';
					visibility = 'hidden';
				};
				for(var i in language){
					var li = document.createElement('li');
					with(li.style){
						listStyle = 'none';
						margin = '5px 0px';
					};
					li.innerHTML = '<input type="radio" value="'+language[i]+'" name="lr"/><label for="lr" style="color: #FFFFFF !important;">'+i+'</label>';
					ul.appendChild(li);
				};
				point = document.getElementsByName('btnG')[0];
				point.parentNode.appendChild(ul);			
			},
			launguageSelectToggle: function(){
				var ul = document.getElementById('language_select_ul');
				var uStyle = ul.style;
				document.addEventListener('click',function(e){
					var target = e.target;
					if(e.button !== 0)
						return;
					if(target.parentNode.id === 'language_select_ul' || target.parentNode.parentNode.id === 'language_select_ul') 
						return;
					if(target.id === 'language_select_toggle'){
						(uStyle.visibility === 'hidden') ? 
							uStyle.visibility = 'visible': uStyle.visibility = 'hidden';
						e.preventDefault();	
					}
					else{
						uStyle.visibility = 'hidden';
					}
				},false);
			}, 
			formSubmit: function(target){
				var form = document.forms[0];
				document.addEventListener('click',function(e){
					if(e.button !== 0) return;
					var target = e.target;
					if(target.id === 'all' || target.id === 'il' || target.name === 'lr' && (target.nodeName.toLowerCase() === 'input')){
						form.submit();
					}		
				},false);
			}
		};
	
		googleSearch.init();	
	});
	
	function evalInPage(f){
		location.href = 'javascript:void('+f+')()';
	};
})();

直接覆盖上去吧, ff3.5.1下测试通过
分享到:
评论

相关推荐

    language-select.conf

    font config file

    Lua脚本引擎分享The Programming Language Lua

    Lua脚本引擎The Programming Language Lua

    UR机器人脚本手册 SW5.10 版

    The URScript Programming Language G5 脚本文件_scriptManual_SW5.10_en UR机器人 官方脚本文件 2021年更新比较详细 相对中文版比较内容丰富

    Interactive Natural Language-Based Person Search.pdf

    Interactive Natural Language-Based Person Search的论文阅读笔记,不是很详细,具体看论文。

    Adversarial Attribute-Text Embedding for Person Search with Natural Language Que

    Adversarial Attribute-Text Embedding for Person Search with Natural Language Query

    tcl脚本语言 书籍

    是tool command language的缩写,发音为 "tickle”, 实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。它有一个简单的语法...

    脚本制作迅雷后门脚本制作迅雷后门

    脚本制作迅雷后门 教程作者:平行空间 305058321 在安装了迅雷下载软件后 在网页的链接右击都会出现“用迅雷下载” 其在注册表的位置: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt 我们...

    TASKING LSL 脚本语言介绍.pptx

    Tasking编译器链接脚本用法介绍,LSL脚本语言,用于给英飞凌系列的单片机软件开发的代码分配地址。

    select2新版中文语言包

    select2的新版中文语言包。下载后直接引入即可。放在select2.full.min.js后引入语言包。在代码里加入 language: "zh-CN"即可。

    Elasticsearch- The Definitive Guide

    This practical guide not only shows you how to search, analyze, and explore data with Elasticsearch, but also helps you deal with the complexities of human language, geolocation, and relationships. ...

    路由器批量巡检脚本.txt

    @echo off rem 把这个路径改成crt的安装路径即可 "d:\Program Files\SecureCRT\SecureCRT.EXE" /SCRIPT xunjian.js =====================JS脚本文件(xunjian.js)========================= # $language = "JScript...

    易语言脚本控制对象

    脚本控制对象,排序文本,逐字分割,创建对象,清除对象,GetLanguage,GetState,GetSitehWnd,GetTimeout,GetAllowUI,GetUseSafeSubset,GetModules,GetError,GetCodeObject,GetProcedures,SetLanguage,SetState,...

    CSharp Language Specification.pdf

    C# Language Specification

    Java Language Conversion Assistant

    Java Language Conversion Assistant is a tool that automatically converts existing Java-language code into Visual C#® Quick Info File Name:VS7.1-KB819018-X86.exe Download Size:10092 KB Date Published:...

    language 2000 language.EXE 侦壳

    language 2000 language.EXE 侦壳

    Perl脚本参考手册

    Perl是Practical Extraction and Report Language的缩写,它是由Larry Wall设计的,并由他不断更新和维护,用于在UNIX环境下编程。 .Perl具有高级语言(如C)的强大能力和灵活性。事实上,你将看到,它的许多特性是...

    CSharp Language Specification_C#_language_csharp_

    c# language specification

    《the c programming language》(CLH)

    《the c programming language》(CLH)《the c programming language》(CLH)《the c programming language》(CLH)《the c programming language》(CLH)《the c programming language》(CLH)《the c programming ...

    TCL(Tool Command Language)练习题及答案

    TCL(Tool Command Language)练习题及答案; 1、编写一个TCL脚本,输出从1到10的所有偶数。 2、编写一个TCL脚本,求一个整数列表的平均值。 3、编写一个TCL脚本,计算一个整数列表的最大值和最小值。 4、...

    Tcl编程简介 TCL脚本

    是tool command language的缩写,发音为 "tickle”, 实际上包含了两个部分:一个语言和一个库。  首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一 些互交程序如文本编辑器、调试器和shell。它有一个简单的...

Global site tag (gtag.js) - Google Analytics