key boardだけでpage遷移
このページのコードはめんどくさいのでメンテナンスしません
そもそも実装が雑だし回りくどいし
気が向いたらするかも
2021-01-27 08:09:35 動かないとの報告があったので直しました
動機
実装
cursorがあるlinkを抽出
key入力
使い方
以下を自分のページの script.js
に書く
jsimport '/api/code/takker/key_boardだけでpage遷移/install.js';
作ってみよう
2020-11-12 01:05:56 できた
スクロールせずに見える領域の外でも使えるっぽい
install.js// Mousetrap.jsをinstallする
// 別のscriptでinstallしている場合は削って大丈夫です
import {installMousetrap} from '/api/code/takker/scrapbox-mousetrap-installer/script.js';
installMousetrap();
// 本体をinstallする
const oldScript = document.getElementById('scrapbox-click-link');
oldScript?.parentNode?.removeChild?.(oldScript);
const clickLinkScript = document.createElement("script");
clickLinkScript.src = '/api/code/takker/key_boardだけでpage遷移/script.js';
clickLinkScript.id = 'scrapbox-click-link';
clickLinkScript.type = 'module';
document.body.appendChild(clickLinkScript);
そこまでする気は起きないが
script.jsimport {getLinkIncludingCursor} from '/api/code/takker/Scrapboxでcursor下のリンクを取得する/script.js';
const command = 'ctrl+s';
const mousetrapOnEdit = new Mousetrap(document.getElementById('editor'));
script.jsmousetrapOnEdit.bind(command, clickLinkUnderCursor);
console.log('Finish setting for Mousetrap.');
リンククリックの機能のコア部分
script.jsfunction clickLinkUnderCursor() {
const targetLink = getLinkIncludingCursor();
if (!targetLink) {
console.log('No link found.');
return;
}
console.log('Target link: %o', targetLink);
targetLink.click();
}