分页: 1 / 1
怎么把鼠标所点击的链接的地址作为变量传给脚本
发表于 : 2010-12-21 16:59
由 owwbu
设想是这样的,点击一个链接后,执行某个脚本里头的命令。
在这个脚本里头,
先用wget下载该链接的内容——问题就在这,怎么把链接的地址作为参数传递给wget,这个脚本怎么得到我鼠标点击的链接的网址?
然后再对下载下来的东西进行一堆的后续处理。
Re: 怎么把鼠标所点击的链接的地址作为变量传给脚本
发表于 : 2010-12-21 17:02
由 jarryson
必须浏览器能执行本地程序。
比如opera就可以修改右键菜单调用外部程序,传递的参数也是可以的。
除此之外除非是浏览器插件,否则无法监视
Re: 怎么把鼠标所点击的链接的地址作为变量传给脚本
发表于 : 2010-12-21 17:40
由 owwbu
jarryson 写了:必须浏览器能执行本地程序。
比如opera就可以修改右键菜单调用外部程序,传递的参数也是可以的。
除此之外除非是浏览器插件,否则无法监视
谢谢jarryson。
Re: 怎么把鼠标所点击的链接的地址作为变量传给脚本
发表于 : 2010-12-21 23:47
由 lilydjwg
我一般用 FireGuesture 来弄,类似的脚本(不记得是从哪里学来的了)
代码: 全选
const EXEC_PATH = "/usr/bin/google-chrome";
var linkURL = FireGestures.getLinkURL(FireGestures.sourceNode)||window.content.location.href;
var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath(EXEC_PATH);
if (!file.exists()) {
alert("File does not exist: " + EXEC_PATH);
return;
}
var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
try {
var args = [linkURL];
process.init(file);
process.run(false, args, args.length);
} catch (ex) {
alert("Failed to execute: " + EXEC_PATH);
}
当然,FireGuesture 不是必须的。
Re: 怎么把鼠标所点击的链接的地址作为变量传给脚本
发表于 : 2010-12-22 18:04
由 tusooa
写脚本,选中链接,设快捷键,脚本里面用xsel取选中内容,通过参数传递给wget
可以用
xterm -e wget "$(xsel)"
的方式执行。