`
rikugun
  • 浏览: 351080 次
  • 性别: 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-shell脚本

    Language-shell脚本

    language-select.conf

    font config file

    google search close 谷歌搜索类

    在IT行业中,搜索引擎是至关重要的工具,而Google Search API则是开发者和网站所有者用来集成Google搜索功能的关键接口。本文将详细解析"google search close 谷歌搜索类"这一主题,以及如何使用提供的...

    PADS常用脚本文件

    - 脚本语言:PADS主要使用VHDL和Verilog进行硬件描述,而它的脚本语言主要是基于TCL(Tool Command Language)的,有时也结合使用Perl或Python。 - 脚本作用:通过编写TCL脚本,用户可以自定义命令,例如批量修改...

    t32 practice脚本(.cmm) training

    T32 Practice脚本语言培训是Lauterbach GmbH提供的一种Script Language培训课程,旨在帮助用户掌握TRACE32脚本语言的编写和应用。该课程涵盖了Script Language的基础知识、脚本语言的使用场景、脚本语言的编写方法、...

    VB脚本从入门到精通.docx

    2. LANGUAGE 属性:LANGUAGE 属性用于指定所使用的脚本语言。 3. VBScript 代码的书写:VBScript 代码写在成对的 &lt;SCRIPT&gt; 标记之间,例如:&lt;SCRIPT LANGUAGE="VBScript"&gt;&lt;!--Function CanDeliver(Dt)CanDeliver = ...

    TCL脚本实例: 检查IP的脚本

    1. TCL语言:TCL(Tool Command Language)是一种脚本语言,广泛应用于自动化测试、网络管理和系统管理等领域。TCL语言具有灵活、可扩展、易于学习等特点,适合用于各种自动化任务。 2. TCL脚本实例:检查IP的脚本...

    TCL脚本学习.pdf

    TCL(Tool Command Language)是一种通用的脚本语言,它在各种操作系统平台,包括Windows、Linux、Unix等上都能运行。TCL脚本语言以其简单易学、语法简洁的特点,被广泛应用于系统管理、网络配置、自动化测试等多个...

    EVE 采矿脚本

    "EVE 采矿脚本"就是专门为EVE Online设计的一种自动化工具,它由TC(可能指的是ToolCommand Language,一种编程语言)开发而成,用于帮助玩家自动控制游戏中的采矿行为。 首先,我们要理解TC语言。TC是一种功能强大...

    LUA脚本|LUA脚本支持库

    在"易语言LUA支持库100版LUA_FNEfne"和"新LUA支持库100版LUA_FNEfne"这两个文件中,我们可以推测它们是为LUA脚本设计的专门库,可能包含了一系列与易语言(E Language)接口的实现,或者是对LUA功能的增强和优化。...

    试玩ros软路由脚本一拖N

    2. **脚本编写**:ROS支持多种脚本语言,如MikroTik Scripting Language (MSL) 和BASH。编写脚本的目的是自动化重复性的配置任务,例如设置接口、配置静态路由、设定防火墙规则等。在"试玩路由精修脚本.txt"中,可能...

    KIS 系列 SQL 脚本

    SQL(Structured Query Language)是用于管理和处理关系数据库的标准编程语言,这里的SQL脚本主要用于对KIS系统的数据库进行查询、插入、更新和删除等操作。 金蝶KIS系列的问题描述通常涉及数据库表结构不适应业务...

    sqlserver2005/2000生成带带数据的脚本(生成器)

    SQL Server 2000和2005版本默认的脚本生成工具虽然能够生成数据库结构的DDL(Data Definition Language)脚本,但并不包括表内的数据,这无疑增加了数据库管理员的工作负担。为了克服这个限制,出现了专门的工具或...

    mysql脚本文件_自定义脚本文件

    `insertemployee.sql`和`insertdept.sql`则可能是DML(Data Manipulation Language)脚本,用于向`employee`和`dept`表中插入初始数据。这通常包含`INSERT INTO`语句,将数据行插入到相应的表中。例如,`...

    SQLSERVER脚本生成工具,表数据生成SQL脚本

    SQL(Structured Query Language)脚本是一种用文本格式存储的一系列SQL语句,可以被一次性执行,执行结果包括但不限于创建数据库对象(如表、视图)、插入或更新数据、执行查询以及管理数据库权限等。生成SQL脚本...

    ida的脚本解析器,用来分析ida的脚本

    IDA支持多种脚本语言,包括Python、TCL和IDC(IDA's Domain Specific Language)。这些脚本可以用于自动识别函数、创建结构、追踪调用图、修改数据库信息等。使用脚本解析器,我们可以对这些脚本进行解析,理解它们...

    Reflector.PowerShellLanguage.zip

    在这个上下文中,"PowerShellLanguage"可能是指Reflector的一个扩展或插件,专门针对PowerShell脚本语言进行了增强。 PowerShell是一种基于.NET框架的命令行外壳程序和脚本环境,由Microsoft开发。它主要用于系统...

    select 横向滚动条

    在JSP中,我们可以使用EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)来动态生成`&lt;select&gt;`元素,包括其选项。例如: ```jsp &lt;select id="exampleSelect"&gt; ${optionsList}" var=...

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

    《UR机器人脚本手册 SW5.10 版》详细介绍了UR机器人的编程语言URScript,这是一份针对G5版本的更新文档,相比于中文版,其内容更加丰富且全面。URScript是Universal Robots公司开发的一种专用于其机器人控制器...

Global site tag (gtag.js) - Google Analytics