ブラウザ三国志の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

トラックバック(0)

トラックバックURL: http://www.ai-mai.net/mtcs/mt-tb.cgi/12

コメント(3)

スクリプトありがたく使わさせて頂いてるのですが
現在の座標リンカーだとマイナスが含まれる座標がリンクされません
あと全角文字で数字を書く方もたくさん居られて・・・

現在私が修正して使ってるのを記載しておきます

//座標の記載を探す
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];

どんなコードか書かずにすみません。
書いた時はGreasemonkeyの事あまり分かってなかったので
無駄が多いコードになってしまいました。

座標を探す方のコードですが
-や数字のマルチバイト文字列をUNICODEで検索しています。

座標取り出しの方は
-や数字のマルチバイト文字を検索し
replaceの第2引数に書いてある関数に処理を渡しています
その関数では文字を一端キャラクタコードに変換し
変換したコードから-65248をした値を再度文字に変換しています
これで座標がマルチバイトからシングルバイトに変換されます
マルチバイトが無ければそのまま次の処理にうつります。

とりあえずこんな感じです。
replaceに渡してる無名関数を別の所に定義するとすっきりしますね。

コメントする

このブログ記事について

このページは、froakが2009年12月12日 17:12に書いたブログ記事です。

ひとつ前のブログ記事は「INSERT/UPDATEでの挿入/更新後の値を参照する」です。

次のブログ記事は「ブラウザ三国志のGreaseMonkeyを探した。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。