
以前は Google Chrome で「Keyconfig」という拡張機能を便利に使ってたんだけど、いつのまにか開発停止になっているみたい。
ということで、Keyconfig の代わりになる拡張機能を物色中です。
#️⃣ やりたいこと
キー入力で下のようなコードを呼び出し、パラメーターを除去した URL をクリップボードにコピーしたい。
javascript:(function(){
var clp = location.href;
var clipboardText = clp.substring(0, clp.indexOf("\?"));
navigator.clipboard.writeText(clipboardText);
})();
#️⃣ ShortcutKey2URL が良さそう
ShortcutKey2URL は、Keyconfig のように、キーとなる文字を順番に入力して、実行する操作を絞り込んで実行します。
設定のインポートとエクスポートが出来るのもナイス。

とても良さそうな拡張機能だったんですが、私の環境ではうまく動作しませんでした。
#️⃣ そもそも JavaScript が動かない
まず、動作確認で ShortcutKey2URL に下記のようなアラートを表示する簡単な JavaScript を書いてみたけど動かない。
alert('test');
アンチウイルスソフトをオフにして試してみたりして、3日ぐらい悶々と悩んだけど、下記の設定変更で正常にアラートが出るようになった。
-
Google Chrome 画面右上の点々をクリック。
-
「拡張機能」→「拡張機能の管理」をクリック。
-
「ShortcutKey2URL」の詳細をクリック。
-
「ユーザースクリプトを許可する」をオンにする。
#️⃣ クリップボードにコピーできない
ShortcutKey2URL に、表示しているサイトの URL をクリップボードにコピーする JavaScript を書いてみたけど動かない。
Gemini に書いてもらったコード
javascript:(async function(){
// ページ本体にフォーカスを強制的に戻す
window.focus();
const url = location.href;
const urlObject = new URL(url);
const cleanUrl = urlObject.origin + urlObject.pathname;
// 1. わずかな遅延を設ける(セキュリティチェックを通過させるための試み)
await new Promise(resolve => setTimeout(resolve, 50));
// 2. クリップボードAPIを非同期で呼び出す
navigator.clipboard.writeText(cleanUrl)
.then(() => {
console.log(`URLのコピー: 成功. コピーされたURL: ${cleanUrl}`);
})
.catch(err => {
console.error('クリップボードへのコピーに失敗しました:', err);
alert('コピーに失敗しました。アクティブなタブで、ページのどこかをクリックした後にお試しください。');
});
})();
ブックマークレット形式(一行に整形)
javascript:(async function(){window.focus();const url=location.href;const urlObject=new URL(url);const cleanUrl=urlObject.origin+urlObject.pathname;await new Promise(resolve=>setTimeout(resolve,50));navigator.clipboard.writeText(cleanUrl).then(()=>{console.log(`URLのコピー: 成功. コピーされたURL: ${cleanUrl}`);}).catch(err=>{console.error('クリップボードへのコピーに失敗しました:',err);alert('コピーに失敗しました。アクティブなタブで、ページのどこかをクリックした後にお試しください。');});})();
クリップボードの設定を変更してみた
-
Google Chrome 画面右上の点々をクリック。
-
「設定」をクリック。
-
「プライバシーとセキュリティ」をクリック。
-
「サイトの設定」をクリック。
-
「その他の設定」をクリック。
-
「クリップボード」をクリック
-
「デフォルトの動作」で「サイトがクリップボード内のテキストや画像へのアクセスを要求できるようにする」を選択。
上記の設定後も動かない。
実行前にページにフォーカスさせると動く
色々と試してみると、表示しているサイトのどこかをクリックして、ShortcutKey2URL で実行するとうまく URL がコピーされる。
上記のコードをブックマークにして実行すると正常に動作するので、Gemini に聞いてみると下記のような回答が返ってきた。
拡張機能の領域でブックマークレットを実行するのはセキュリティ的に無理なんじゃない?(意訳)
ということで、Chrome + ShortcutKey2URL でブックマークレットを起動させるのは諦めました。Firefox だと何の問題もなく正常に動くんですけどね~。
#️⃣ ちなみに「Shortkeys」も入れてみた
ちなみに、別の拡張機能「Shortkeys」も入れてみたけど1文字のショートカットしか登録できないので使用しないことにした。
※ショートカットが覚えられない…。
さらに「Shortkeys」のオプション画面で JavaScript のコードを書くんじゃなくて、作成したブックマークレットのブックマークを呼び出す感じ。
でも「Shortkeys」だと URL がコピーできる。う~ん。
現場からは以上です。それでは、またッ!!!

