Custom gesture [jp] - utubo/firefox-simple_gesture GitHub Wiki
カスタムジェスチャ
Javascriptの例
ここ(./Custom-gesture-examples-[jp])
API
SimpleGestureが用意したAPIを利用して、いくつか特殊な操作を行えます。
タブ関係の覚書
入力した文字列をgoogleで検索する
/**
* @name ググる
*/
const q = prompt();
/* 最後に評価された式の結果に「url」というプロパティがある場合、
新しいタブでそのURLを開きます。 */
const newTab = q ? { url: ('https://www.google.com/search?q=' + encodeURIComponent(q)) } : null;
newTab;
リンクをバックグラウンドで開く
/**
* @name バックグラウンドで開く
*/
/* 「SimpleGesture.target」でジェスチャの起点の要素を取得できます。 */
let target = SimpleGesture.target;
while (target && !target.href) {
target = target.parentNode; /* 親がAタグかもしれないので探す */
}
/* 「active: false」を指定すると、バックグラウンドで開きます。 */
const newTab = target ? { url: target.href, active: false } : null;
newTab;
URLを確認してから現在のタブで開く
/**
* @name リンクのURLを確認
*/
for (let target = SimpleGesture.target; !!target; target = target.parentNode) {
if (target.href) {
if (confirm('このURLを開きますか?\n' + target.href)) {
/* 現在のタブで開くならコレでOK! */
location.href = target.href;
}
break;
}
}
その他の小技
タブを閉じる
window.close();
の代わりに次のコードでタブを閉じることができます。
browser.runtime.sendMessage('close');