ブラウザ三国志のGreaseMonkeyを作った。

ブラウザ三国志のGreaseMonkeyを作成。

座標アンカー

2009/1/15 修正:v1.01 書簡に対してアンカーをつける。
namespaceを変更しているので、v1.00をアンインストールの上v1.01をインストールしてください。

一言コメントと掲示板内の(xxx,xxx)にアンカーをつける。
v1.00 / bura3_xylink.user.js
v1.01 / bura3_xylink.user.js

ユーザーショートカット

2009/1/22 修正:v1.01 複数サーバー対応、ショートカットURL入力時に現在のURLを表示
いろいろ変更しているので、v1.00をアンインストールの上v1.01をインストールしてください。
保存先を変更したので、v1.01ではv1.00のデータは消えます。

URIのショートカットを表示する。
v1.00 /
bura3_xylink.user.js
v1.01 /
bura3_xylink.user.js

javascriptの作法がまだまだわからなくて酷いことになってるとおもいます。

URIショートカットの使い方

ショートカットのGreaseMonkeyをインストールすると、『ユーザーリンク』という、サイドバーメニューが追加されます。

bura3_userlink_001.png

データの追加は『ユーザーリンク』と表示されている部分をダブルクリックします。

bura3_userlink_002.png

タイトルとURIを入力するダイアログが表示されるので入力してOKを押す。

bura3_userlink_003.png
bura3_userlink_004.png

これでユーザリンクに追加されました。

bura3_userlink_005.png

削除の仕方は、削除したいリンクの右側をダブルクリックします。

bura3_userlink_006.png

真ん中のリンクが削除されました。

bura3_userlink_007.png


3 Responses to “ブラウザ三国志のGreaseMonkeyを作った。”

  • romer Says:

    スクリプトありがたく使わさせて頂いてるのですが
    現在の座標リンカーだとマイナスが含まれる座標がリンクされません
    あと全角文字で数字を書く方もたくさん居られて・・・
    現在私が修正して使ってるのを記載しておきます
    //座標の記載を探す
    var posList = elmHtml.match(/[\(|(]?[\u2212|\uFF0D|-]?[\d|\uFF10-\uFF19]{1,3}[,|,][\u2212|\uFF0D|-]?[\d|\uFF10-\uFF19]{1,3}[\)|)]?/g);
    //座標をXYに分けて取り出す。
    var posX = posTmp.replace(/([\u2212\uFF0D\uFF10-\uFF19])/g, function ($0) {return String.fromCharCode($0.charCodeAt(0) – 65248);}).match(/-?\d{1,3}/g)[0];
    var posY = posTmp.replace(/([\u2212\uFF0D\uFF10-\uFF19])/g, function ($0) {return String.fromCharCode($0.charCodeAt(0) – 65248);}).match(/-?\d{1,3}/g)[1];

  • froak Says:

    北東の人間だったので、neg座標に気づきませんでした;;
    修正コードを理解してから、修正させていただきます。
    roamerさん、ありがとうございます!

  • romer Says:

    どんなコードか書かずにすみません。
    書いた時はGreasemonkeyの事あまり分かってなかったので
    無駄が多いコードになってしまいました。
    座標を探す方のコードですが
    -や数字のマルチバイト文字列をUNICODEで検索しています。
    座標取り出しの方は
    -や数字のマルチバイト文字を検索し
    replaceの第2引数に書いてある関数に処理を渡しています
    その関数では文字を一端キャラクタコードに変換し
    変換したコードから-65248をした値を再度文字に変換しています
    これで座標がマルチバイトからシングルバイトに変換されます
    マルチバイトが無ければそのまま次の処理にうつります。
    とりあえずこんな感じです。
    replaceに渡してる無名関数を別の所に定義するとすっきりしますね。

Leave a Reply