CrossBud
黄金狐狸
黄金狐狸
  • UID7038
  • 注册日期2005-06-29
  • 最后登录2016-08-31
  • 发帖数5948
  • 经验12枚
  • 威望2点
  • 贡献值40点
  • 好评度20点
  • 社区居民
阅读:4984回复:14

会写GM脚本的来帮忙搞个快捷键吧

楼主#
更多 发布于:2007-04-11 18:59
能不能帮忙搞一个user.js脚本的东西?没办法,纯粹的技术活就没辙了
即指定快捷键(不用keyconfig)
当按下键盘A的时候执行 javascript:parent.passIT()
当按下键盘D的时候执行 javascript:parent.deleteIT()
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-03-21
  • 发帖数18482
  • 经验4836枚
  • 威望5点
  • 贡献值4316点
  • 好评度1115点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2007-04-11 18:59
到mozillazine问问
Firefox More than meets your experience
xoferiF
热心会员
热心会员
  • UID6559
  • 注册日期2005-06-05
  • 最后登录2020-04-24
  • 发帖数418
  • 经验24枚
  • 威望0点
  • 贡献值4点
  • 好评度1点
  • 社区居民
  • 忠实会员
2楼#
发布于:2007-04-11 18:59
先想一想,是可以实现的。
wushi777
非常火狐
非常火狐
  • UID12365
  • 注册日期2006-04-17
  • 最后登录2011-04-13
  • 发帖数817
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
3楼#
发布于:2007-04-11 18:59
写了一个放在html页里可以,导入GM就不行,不知道是为什么。
<script>
		
			window.onkeypress = function(e)
				{
					var c = String.fromCharCode(e.charCode);
					switch(c)
					{
						case 'a':
						case 'A':
									alert("You are pressing button \'" + c +"\'.");// change it to parent.passIT() method
									break;
						case 'd':
						case 'D':			
									alert("You are pressing button \'" + c +"\'.");// change it to parent.deleteIT() method
					   			break;
					}
				}
		
		
		</script>
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-03-21
  • 发帖数18482
  • 经验4836枚
  • 威望5点
  • 贡献值4316点
  • 好评度1115点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
4楼#
发布于:2007-04-11 18:59
楼上的不符合gm的书写规范
Firefox More than meets your experience
wushi777
非常火狐
非常火狐
  • UID12365
  • 注册日期2006-04-17
  • 最后登录2011-04-13
  • 发帖数817
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
5楼#
发布于:2007-04-11 18:59
fang5566:楼上的不符合gm的书写规范回到原帖


上边我是说放在html里可以。

我又放弃了玩群英的时间,捣鼓了捣鼓。
试试下面这个,
http://wushi777.wizard.googlepages.com/TriggerKey.user.js
我还不太懂javascript,谁能告诉我为什么javascript控制台老是提示"event is not defined"?

CrossBud你再根据自己的需要添加里边的passIT,deleteIT动作把。
CrossBud
黄金狐狸
黄金狐狸
  • UID7038
  • 注册日期2005-06-29
  • 最后登录2016-08-31
  • 发帖数5948
  • 经验12枚
  • 威望2点
  • 贡献值40点
  • 好评度20点
  • 社区居民
6楼#
发布于:2007-04-11 18:59
wushi777的帮助,但是我试了一下还是不能执行
不知道是不是我没说太清楚
我是想让在网页上时按一个按键就执行一个url,这个url就是我说的javascript:parent.passIT()
具体的这个代码的定义网站的网页已经有了
wushi777
非常火狐
非常火狐
  • UID12365
  • 注册日期2006-04-17
  • 最后登录2011-04-13
  • 发帖数817
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
7楼#
发布于:2007-04-11 18:59
CrossBud:wushi777的帮助,但是我试了一下还是不能执行
不知道是不是我没说太清楚
我是想让在网页上时按一个按键就执行一个url,这个url就是我说的javascript:parent.passIT()
具体的这个代码的定义网站的网页已经有了
回到原帖


试试这个,
http://wushi777.wizard.googlepages.com/KeyTrigger.user.js

有个bug,就是总是执行两遍。我还没搞清是为什么,今天得睡觉了先。
你先看看能不能用。  可以把源码里边的执行地址改为你想要的网站,这样比较有效率。
如:
//@include http://www.google.com/*
wushi777
非常火狐
非常火狐
  • UID12365
  • 注册日期2006-04-17
  • 最后登录2011-04-13
  • 发帖数817
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
8楼#
发布于:2007-04-11 18:59
找到原因了,我又更新了一下。
http://wushi777.wizard.googlepages.com/KeyTrigger.user.js
CrossBud
黄金狐狸
黄金狐狸
  • UID7038
  • 注册日期2005-06-29
  • 最后登录2016-08-31
  • 发帖数5948
  • 经验12枚
  • 威望2点
  • 贡献值40点
  • 好评度20点
  • 社区居民
9楼#
发布于:2007-04-11 18:59
777的无私奉献精神让在下感动,可惜还是没法执行
不知道到底是因为什么(其实压根儿搞不明白)

最后还是用快捷键上了。
把代码作成书签,然后定义书签的快捷键。(其实就是让浏览器在当前页面打开这个书签)
不过还是很感谢了
wushi777
非常火狐
非常火狐
  • UID12365
  • 注册日期2006-04-17
  • 最后登录2011-04-13
  • 发帖数817
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
10楼#
发布于:2007-04-11 18:59
CrossBud:777的无私奉献精神让在下感动,可惜还是没法执行
不知道到底是因为什么(其实压根儿搞不明白)

最后还是用快捷键上了。
把代码作成书签,然后定义书签的快捷键。(其实就是让浏览器在当前页面打开这个书签)
不过还是很感谢了
回到原帖


没关系,我也是在利用这个机会学习学习javascript,感谢你给我这个机会啊。
可能是我对你说的理解的不对,因为在我这里已经可以执行了。如果你能给我一个地址测试测试,也许我能理解的更清楚一些。
CrossBud
黄金狐狸
黄金狐狸
  • UID7038
  • 注册日期2005-06-29
  • 最后登录2016-08-31
  • 发帖数5948
  • 经验12枚
  • 威望2点
  • 贡献值40点
  • 好评度20点
  • 社区居民
11楼#
发布于:2007-04-11 18:59
测试地址是没办法给你了,因为是单位内部管理系统,没有权限也进不去
其实我想要的就是一个执行网页地址的脚本
假如这个地址不是一个javasript,而比如是http://www.firefox.net.cn
就是要做一个onkpress在当前页面打开这个网址应该怎么弄?

看到以前有一个在新标签打开url的keyconfig的脚本代码
var myUrl = "http://forum.moztw.org"; // 你要連的網址
// 以下不需更改
var ff= document.getElementById("content");
var tab = ff.addTab(myUrl);
ff.selectedTab = tab;

应该类似,只不过我是要在当前页打开url
可能类似这样:
gBrowser.loadURI('http://www.mozilla.org/');

能帮我再想想吗
wushi777
非常火狐
非常火狐
  • UID12365
  • 注册日期2006-04-17
  • 最后登录2011-04-13
  • 发帖数817
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
12楼#
发布于:2007-04-11 18:59
那你的页面脚本是不是有类似这样的定义? 然后调用GM script激发。
parent.passIT = function()
								{
									window.location="http://www.eyou.com/"
								};
			parent.deleteIT = function()
								{
									window.location="http://www.google.com"
								};
CrossBud
黄金狐狸
黄金狐狸
  • UID7038
  • 注册日期2005-06-29
  • 最后登录2016-08-31
  • 发帖数5948
  • 经验12枚
  • 威望2点
  • 贡献值40点
  • 好评度20点
  • 社区居民
13楼#
发布于:2007-04-11 18:59
94 function passIT()
95 {
96 bookview.bcform.action = "bookctrl-pass.jsp";
97 bookview.bcform.submit();
98 }
99
100 function deleteIT()
101 {
102 bookview.bcform.action = "bookctrl-delete.jsp";
103 bookview.bcform.submit();

看样子是一个提交
wushi777
非常火狐
非常火狐
  • UID12365
  • 注册日期2006-04-17
  • 最后登录2011-04-13
  • 发帖数817
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
14楼#
发布于:2007-04-11 18:59
CrossBud
94 function passIT()
95 {
96 bookview.bcform.action = "bookctrl-pass.jsp";
97 bookview.bcform.submit();
98 }
99
100 function deleteIT()
101 {
102 bookview.bcform.action = "bookctrl-delete.jsp";
103 bookview.bcform.submit();

看样子是一个提交
回到原帖


这些对象都是自定义的,我只能知道是用bookview.bcform.action指定需求页面,然后递交需求。

这样只要passIT(),deleteIT()能够单独执行,GM script就应该可以调用了呀。 GM script调用的是parent.passIT(),不知道你的页面代码是否已将passIT方法与对象parent相绑定。

用什么方式打开返回的页面我想已经和GM script没有关系了。 我是用window.location来定位当前页面打开的。   你那里是jsp页,是否需要查查相关的taglib api?
游客

返回顶部