SiteMap

2013年3月25日月曜日

FireGestures的自定腳本

FireGestures的自定腳本
from
http://lifeplayblog.blogspot.tw/2009/02/firegestures.html


 之前提到靠著FireGestures自定的腳本,可以少裝好幾個套件,就在這邊
說一下我所用到的自定腳本,有用到的人就不用客氣的拿去用吧!

要新增腳本很簡單,叫出FireGestures的選項視窗,選對應手勢的那個頁
面,然後在下方點新增腳本手勢,就會跑出一個對話窗出來,名稱自己定,
腳本的話就參考下方的自定腳本,就直接複製貼上就可以了,手勢部份就看你
自己爽就好了,你要用上上下下左左右右也沒人管你啊XD(不過實際上這是
不可能的,你回去試試看就知道了)。

腳本1-1:Close Tab and Focus Left Tab(關閉分頁然後回到左邊的分頁)
var tab = gBrowser.mCurrentTab;
if(tab.previousSibling)
gBrowser.mTabContainer.selectedIndex--;
else
gBrowser.mTabContainer.selectedIndex = gBrowser.mTabs.length - 1;
gBrowser.removeTab(tab);


腳本1-2:Close Tab and Focus Right Tab(關閉分頁然後回到右邊的分頁)
var tab = gBrowser.mCurrentTab;
if(tab.nextSibling)
gBrowser.mTabContainer.selectedIndex++;
else
gBrowser.mTabContainer.selectedIndex = 0;
gBrowser.removeTab(tab);


腳本2:Open URL from Selection(在新分頁打開反白的網址)
const IN_NEW_TAB = true;
const IN_BACKGROUND = true;
var str = FireGestures.getSelectedText();
if (!str)
return;
if (IN_NEW_TAB)
gBrowser.loadOneTab(str, null, null, null, IN_BACKGROUND, false);
else
gBrowser.loadURI(str);


腳本3:Firefox Options(開啟Firefox的選項視窗)
openPreferences();


腳本4:Open Addons(開啟Firefox套件視窗)
toOpenWindowByType('Add-ons:manager',
'chrome://mozapps/content/extensions/extensions.xul');


腳本5:Open Page with IE(用IE開啟正在瀏覽的頁面)
const IE_PATH = "C:\\Program Files\\Internet Explorer\\iexplore.exe";
var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath(IE_PATH);
if (!file.exists()) {
alert("File does not exist: " + IE_PATH);
return;
}
var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
try {
var args = [window.content.location.href];
process.init(file);
process.run(false, args, args.length);
}
catch (ex) {
alert("Failed to execute: " + IE_PATH);
}


腳本6:Open Link with Internet Explorer(用IE開啟連結)
const APP_PATH = "C:\\Program Files\\Internet Explorer\\iexplore.exe";

var srcNode = FireGestures.sourceNode;
var linkURL = FireGestures.getLinkURL(srcNode);
if (!linkURL)
throw "Not on a link";

var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath(APP_PATH);
if (!file.exists()) {
alert("File does not exist: " + APP_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: " + APP_PATH);
}

這些其實並不全是我自己寫的,在FireGestures就有提供很多的腳本可選,
你可以參考其中一些來做自己會用的的功能出來,就達到減少安
裝套件的目的了,畢竟有時我們只是為了一個小小的功能才安裝
套件的,假如那個套件其它的功能你沒用到,那就可惜了。



Copy Page Title and URL to Clipboard
const AS_HTML = false;

function htmlEscape(s) {
  s = s.replace(/&/g, "&");
  s = s.replace(/>/g, ">");
  s = s.replace(/
  s = s.replace(/"/g, """);
  return s;
}
var url = window.content.location.href;
var title = window.content.document.title;
var txt = AS_HTML ?
  '' + htmlEscape(title) + '' :
  title + "\n" + url;
var clipboard = Cc["@mozilla.org/widget/clipboardhelper;1"]
                .getService(Ci.nsIClipboardHelper);
clipboard.copyString(txt);





Test



clipboard.copyString("Test");

---
Copy Select Text

var str = FireGestures.getSelectedText();
var clipboard = Cc["@mozilla.org/widget/clipboardhelper;1"]
                .getService(Ci.nsIClipboardHelper);
clipboard.copyString(str);

0 件のコメント: