« 2008年9月 | トップページ | 2008年12月 »

2008年11月の11件の投稿

2008/11/29

【はてブ】コメントアイコンを投稿ボタンにしてしまう Greasemonkey

新はてなブックマークのブックマークレットで出てくる「コメント」アイコンがボタンに見えて、ついつい押してしまう……ということで、どうせならそっちも投稿ボタンにしてしまう Greasemonkey を試作してみました(w。
■Greasemonkeyスクリプト

Hbcbsample_2

これで間違えても大丈夫?!
■覚書など

2008/11/19

【ココログ】アクセス解析に記事へのリンクを付けるスクリプト(SeaHorse/Greasemonkey)

ココログのアクセス解析で、「生ログ」や「ページ別アクセス数」などに自分のブログ記事へのリンクを付加するスクリプト(SeaHorse/Greasemonkey)を試作してみました。
先日久しぶりにココログのアクセス解析を見ていたときに、「あれ、これってどんな記事だっけ……」と自分のブログを検索するのが意外と面倒だということに気付いたので。
というか、今更ですが、どうして最初からついてないのですかね?もしかして私が見落としてるだけ?
■SeaHorse/Greasemonkeyスクリプト
cocoAppLink.user.js:ココログのアクセス解析に自サイトへのリンク付加
SeaHorseの使い方については、例えばこちらとかこちらを参照。
Greasemonkeyについては、例えばこちらを参照。
■サンプル
【使用前】

Cocoapplinksample1

【使用後】

Cocoapplinksample2

個別記事のリンクを普通にクリックすると、サイト上の記事へと飛びます。
[Ctrl]キーを押しながらクリックすると、記事の編集画面へと飛びます。
■制限など
  1. 例によって無保証です。ご使用は自己責任でお願いします。
  2. クリックしてからはじめて飛び先が検索されます。
    ですので、リンクそのものを使ってのリンク先(ショートカット)のコピーやお気に入りへの登録などはできません。
  3. うまく記事に飛べないなどの誤動作が起こることがあります。
    タイトルのみでは記事が特定出来ない場合など。
  4. アーカイブページ(トップページ、カテゴリー、月/週/日別バックナンバー等)には未対応です。
    リンクがあるように見えますが、正常な動作にはなりません。
  5. 携帯用サイトには未対応です。
    携帯用の生ログなどであっても、リンク先はPC用サイトになります。
■覚書
アクセス解析画面には記事のURLやIDが埋めこまれているわけではないので(IDの方は含まれるページもありますが)、記事タイトルを抜き出し、これをキーとして該当するものを検索しています。
ですので、同じタイトルのものがあったりすると、誤動作は避けられません。
それを考えると、やっぱりアクセス解析画面上にIDが含まれていないというのは、そもそも問題のような気がするなぁ。

2008/11/16

『続きを読む』をその場で読むReadMoreをLDRizeに対応

『続きを読む』をその場で読むReadMoreですが、LDRizeを使ってのキー操作による閲覧に慣れてしまうとマウスに手をのばしたくない、ということもあるかも知れません。
なので、ReadMore用のショートカットキーを LDRize に追加するスクリプトを作成してみました。
ReadMoreはver.0.03以降必須です。
■SeaHorse/Greasemonkeyスクリプト
ReadMore:『続きを読む』をその場で表示
ReadMore Extension for LDRize :LDRizeにキーバインド追加
LDRizeが有効なGreasemonkey/SeaHorse環境にて、上記の両方をインストールすることで、
  1. [m]キー:LDRizeがポイントしている記事の下に ReadMore 対象のリンクがある場合は「続き」部分を開閉(トグル動作)。
  2. [t]キー:開いている「続き」部分の先頭位置へ。
  3. [b]キー:開いている「続き」部分の最終位置へ。
というキー操作が可能になります。
キーバインド変更は、ReadMore Extensionを直接編集してください。
  1. LDRize(Greasemonkey)LDRize for SeaHorse兼用。
  2. Greasemonkeyでは、「ユーザスクリプトの管理」画面にて、Minibuffer(→AutoPagerize)→LDRize→ReadMore→ReadMore Extensionの順に並べること。
  3. LDRize for SeaHorseにて、HELP画面が拡張されないのは仕様です(笑)。
    追加出来るAPIが見当たらなかったので……。
動作確認はWindows XP SP3上で、
  • LDRize 2008.06.02版/Minibuffer 2008.04.19版 [Greasemonkey 0.8.20080609.0/Firefox 3.0.4]
  • LDRize version 0.20 [SeaHorse 1.1.2/Sleipnir 2.8.3]
にて実施。

続きを読む "『続きを読む』をその場で読むReadMoreをLDRizeに対応" »

2008/11/15

Firefox 2.0.0.18にしたら急に動作がおかしくなった

Firefox 2を使用していて、「Firefox の更新が見つかりました」のポップアップが出てきたので、そのまま Firefox 2.0.0.18 にアップデートしたら……あれれ?何か動作がおかしい……。
AutoPagerizeReadMoreといった、ページ継ぎ足し系のGreasemonkeyスクリプトが読込みにいったまま戻ってこない……というか、Greasemonkeyを使っていなくても、例えば、はてなダイアリーの「続きを読む」やボタンも効かない……。
ついでにこのサイトなんか、読込みに行ったまま戻ってこなくて固まる(苦笑)。
どうも、XMLHttpRequestを使っているものは軒並み動作がおかしくなっているような……こんな現象、私だけですか???
環境はWinXP Pro.SP3。
ちなみに、2.0.0.18でもLinux版は問題無し。
Win版も、2.0.0.17に戻したり、3.0.4にすると問題無し。
【2008/11/19追記】
コメントにて、しゃおろんさんに教えていただいた方法(「RealPlayer Browser Record Plugin 1.0」のアドオンを無効化。なお、そもそも起動出来ない場合には一度Firefoxをセーフモードで起動してからアドオン無効化して再起動)で、2.0.0.18がWinXP上でも動作するようになりました。

2008/11/14

【ココログ】コネタマ・ネタ表示枠の表示/非表示切替が出来るようになりましたね(笑)

やはり、苦情が殺到したみたいですね(苦笑)。
ココログ記事作成画面にあるネタの表示枠を切り替えられるようにしました。 | コネタマ:@nifty
ご要望として一番多かった、ココログ記事作成画面にある「ネタの表示枠」を表示/非表示に切り替えられるよう設定いたしました。
というわけで、
風柳亭 - 別館:書庫のある庵 -: 【ココログ】管理画面のサイドバーなどを隠すCSS設定
のうち、
#cocologNetaPost {display:none;}
は消して、公式の切替機能を使えば、いざネタを投稿したくなったときは使えるでしょう。
サービスそのものはおもしろいかも知れないんだけど、主張しすぎ(苦笑)。
……というか、そもそも、βテストを公式サイト上でやるのはどうかと。

2008/11/13

【ココログ】管理画面のサイドバーなどを隠すCSS設定

ココログの管理画面で、サイドバーにニュースが表示されるくらいならまだいいかなぁ、と思っていましたが、なにか突然『ブログネタ』なるものが出るようになり……さらに、新規記事の作成画面で上部にでかでかと『ブログのネタ』なるパーツが……。
個人的に、さすがに目ざわりになってきたので、IE7でCSS設定にて隠すようにしてみました。
好みにもよるでしょうけれど、出来れば表示/非表示設定が出来るようにしてほしいなぁ……。
■管理画面の不要な表示を隠すCSS
/* === ココログ管理画面の余分な要素を隠す === */
/* ブログのネタ(新規作成画面) */
#cocologNetaPost {display:none;}
/* ブログネタ(サイドバー) */
#cocologNetaModule {display:none;}
/* ココログニュース */
#cocologNewsModule {display:none;}
■IE/Sleipnirの場合
IE7やSleipnirの場合には、適当なフォルダ(デスクトップとかでも可)に、適当な名前(userStyleSheet.cssとか)でテキストファイルを作り、上記の設定を貼り付けて保存。
その後、「ツール(T)」→「インターネットオプション(O)」→「ユーザー補助(E)」の「ユーザー スタイル シート」設定のところで「自分のスタイル シートでドキュメントの書式を設定する(D)」をチェックし、「スタイルシート(T)」に上記で保存したファイルを指定し、[OK]を押せば反映されます。
全サイトに適用されるスタイルですが、まあ上記内容ならココログ以外はかからないでしょう、多分(^^;)。
適用サイトを限定したい場合は、Sleipnirなら「User Style Sheet」というSeaHorseスクリプトもあるらしいです。
Firefoxだと、手動でも設定出来るけれども、「Stylish」アドオンを使うのが楽みたいですね。
まだどちらも試していませんが。

【2008/11/14追記】
とりあえず、Stylishの方は試してみました。
■Firefoxの場合(Stylish使用)
  1. FirefoxにてStylishをインストール(Firefoxの再起動が必要)。
  2. 「表示(V)」→「サイドバー(E)」→「Stylish」(もしくはCtrl+Shift+M)で、サイドバーにStylish表示。
  3. 「書く…(W)」を選択して、「スタイルを追加」画面を開く。
  4. 「概要(D)」欄に適当な名前(例:ココログ管理画面の余分な要素を隠す)を記入。
  5. 「挿入(I)」→「サイト規則…(S)」で、「前に付く(S)」をチェックし、対象となるココログ管理画面のapp名を指定したあと、「追加(A)」。
    1. ココログフリーの場合→https://app.f.cocolog-nifty.com/t/app/
    2. フリー以外の場合→https://app.cocolog-nifty.com/t/app/
    必要なだけ追加したら、[OK]を押す。

  6. @-moz-document url-prefix(https://app.cocolog-nifty.com/t/app/), url-prefix(https://app.f.cocolog-nifty.com/t/app/) {

    }
    のような感じで表示されるので、"{"と"}"の間に、上記のCSSをコピー&ペーストする。
  7. 「保存(S)」を押す。
以上の手順で設定可能でした。
何も参考にせずに適当にやってみたので、もっとスマートなやり方があるかも知れません。悪しからず。

【JScript】IEでTextRangeを使用する場合の注意

IE7(JScript)でTextRangeを使用していて、おかしな挙動に気がつきました。
TextRangeでは範囲内に<br />などが有る場合は改行とみなされますが、これが含まれる場合には、
  1. TextRange.moveStart('character', N)/TextRange.moveEnd('character', N)で選択範囲を移動する場合には、Nには改行を1文字とみなした数値を指定する必要がある。
  2. TextRange.text.lengthで取れるテキスト長は、改行を[CR][LF]の2文字とみなして計算されている模様。
    また、範囲中、最後の文字(改行以外)よりも後の改行文字数は、lengthに含まれない。
    従って、moveEndの挙動と矛盾する……(__;)/。
という点に注意してコーディングする必要が有ります。
1文字ずつ範囲を広げたり狭めたりした場合の挙動の例はこちら
1文字ずつ動かしているつもりが、lengthの値が急に飛んだりする現象がわかるかと。
特に、move*("character",-1)で範囲をせばめていくと思わぬ挙動を示すことが予想されるので、面倒でも
  1. TextRange作成時・要素選択時に、
    var TextRange=document.body.createRange();
    TextRange.moveToElementText(element);
    で対象要素を選んだ後、
    TextRange.setEndPoint('EndToStart',TextRange);
    のようにして、一旦、範囲をオブジェクトの先頭・length=0にリセットした後、改行が1文字と見なされることに注意しつつ、moveStart/moveEndで範囲を調整する。
  2. moveStart/moveEndでは、正方向の移動に限る。負方向への移動は使用しない。
  3. TextRange.text.lengthの値はそのままでは使わない。
    moveStart/moveEnd("character")で指定出来るオフセットの最大値を求めたい場合は、
    var text=TextRange.text.replace(/\r\n/g,'\n');
    として改行を1文字としたあとでtext.lengthを使用する。
のようにした方が、問題が起きにくい、かも。
【2008/11/13 追記】
上記に関連する内容が詳細に書かれた、ためになるページを見つけました。
Studio FREE-SKY - テキストエリアの選択範囲の位置を特定する
上で、選択位置を先頭・length=0にリセットするのに、
TextRange.setEndPoint('EndToStart',TextRange);
とやっていましたが、
TextRange.collapse(true); // デフォルトがtrue(先頭へ)、falseだと末尾へ
でよいのですね。

スクリプトバージョンアップのお知らせ(脚注展開表示/Yin and Yang/ReadMore)

スクリプトのバージョンアップを実施しました。
本当は個別記事をメンテするべきなんですがね(^^;)。
主な修正点を以下に示します。
Greasemonkey/SeaHorseスクリプトをお使いの場合、お手数ですが当該ページから新版をダウンロード願います。
はてダ/WikiPedia脚注展開表示(expandFootNote.user.js)(ver.0.01g→0.01h)
  1. スクリプト中に、展開表示用操作切替(マウスオーバ/マウスクリック)のオプション(clicktoggle)追加。
    デフォルトはマウスオーバで表示。マウスクリックで表示するように変えたい場合、スクリプトの頭の方に有る
    var clicktoggle=false; // true:open on 'click', false:open on 'mouseover'
    の false を true に変更のこと。
Yin and Yang:リンク先をその場で表示(SeaHorse専用版)(showYinAndYangS.user.js)(ver.0.02p1→0.02p3)
  1. FC2などのサイトプレビュー時、画像が表示されなかったのを表示されるように修正。
    advLoadImageオプション。デフォルトはtrue、falseで従来の動作。
  2. スクロール移動位置の調整(オブジェクトの位置取得関数見直し)。
  3. その他、バグ修正など。
ReadMore:『続きを読む』をその場で読むSeaHorse/Greasemonkey(readmore.user.js)(ver.0.01→0.02d)
  1. SeaHorse専用だったものをGreasemonkeyとしても動作するように修正(ver.0.01→0.02)
  2. Firefox3で動作しなかったものを修正(ver.0.02→0.02a)
  3. アンカー指定が無い場合の推測ロジックを調整(ver.0.01→0.02d)。
    FC2、ライブドアの一部ブログでは表示出来る場合も。

2008/11/08

ReadMore:『続きを読む』をその場で読むSeaHorse/Greasemonkeyスクリプト

あちこちのブログをつまみ読みしているとき、「続きを読む」リンクが出てくるとページ遷移しちゃうのが煩わしいなぁ……と前から思っていたので、これをその場で表示するSeaHorseスクリプトを試作してみました。
SeaHorseなので当然ながらSleipnir専用です。
それ程複雑なことはやっていないと思いますので、Greasemonkeyに慣れた方なら移植も容易かと……ちなみに私は慣れてないのでできません(w。

【2008/11/08】Greasemonkeyとしても動作するようにしてみました(ver.0.02~)。
【2008/11/16】LDRizeにショートカットキーを追加出来るようにしてみました(ver.0.03~)。
■SeaHorse/Greasemonkeyスクリプト
ReadMore:『続きを読む』をその場で表示
ReadMore Extension for LDRize :LDRizeにキーバインド追加
SeaHorseの使い方については、例えばこちらとかこちらを参照。
Greasemonkeyについては、例えばこちらを参照。
■動作画面

Readmoresample1

適当な『続きを読む』リンクにマウスカーソルを重ねると……

Readmoresample2_2

のように、続きがその場で展開されます(LDRizeキー:[m])。
このとき、続き部分の前後には v[*n]/^[*n] のようなスイッチが表示され、
  1. スイッチ上でマウスホイール→続き部分の一番下/一番上に移動(LDRizeキー:[b]/[t])
  2. スイッチをクリック→続き部分を閉じる(LDRizeキー:[m]。開く/閉じるはトグル。)
という動作をサポートしています。
【2008/11/16】LDRizeキーはLDRizeとReadMore Extensionを使用した場合にのみ有効。
■対応サイトなど
ココログ、および、はてなダイアリーについては、自サイトを含むいくつかのサイトで動作を確認しました。
トラックバックやコメントまで表示されるのはうっとうしいと思いますが。
FC2ブログやライブドアブログなんかでもサイトによっては動作することもあるかもしれません。
■注意書き
  • 例によって、一切の保証はありません。ご使用は自己責任にて。
  • サイトによっては全く動作しなかったり、おかしな挙動を示すこともあります。悪しからずご了承願います。
以下、覚書など。

続きを読む "ReadMore:『続きを読む』をその場で読むSeaHorse/Greasemonkeyスクリプト" »

2008/11/06

【JavaScript】IE7でリンクオブジェクトのhrefが参照出来なくなるケース有り

スクリプトの修正をやっている過程で気がついたので、覚書を兼ねて。
例えば、
<a href="http://hoge:65536">IE7(JScript)でhrefが参照できないリンク</>
のような不正なアドレスを持つリンクがあるとき、IE7のJScriptでこのリンクオブジェクトのhrefを参照しようとすると、エラーが発生してしまう、ということに気がつきました。
ちなみに、設定(hrefへの"http://hoge:65536"の代入)は出来ます。参照のみ不可。
サンプルはこちら
FirefoxやOpera、Safariなんかはもちろん、IE6でも上みたいな奇妙な現象は発生しないので、IE7で追加された奇妙な仕様、なのかなぁ?
奇妙といえばもう一つ、"http:///"というsrcをもったIFRAMEがページ中に存在すると、これを含むページそのものが"http:///"へリダイレクトされたあげくに「アドレスが有効ではありません」というエラーになる、という現象にも気付きました。これもIE7以降で追加された仕様っぽいです。
リンクやIFRAMEをいじったりするスクリプトは多いと思うので、気をつけましょうというお話。

スクリプトバージョンアップのお知らせ(ココログ用各種/脚注展開表示/はてブフィルタ/AutoPagerlike/Yin and Yang)

各種スクリプトのバージョンアップを実施しました。
当方休眠中、不具合などについてお知らせ下さった方、どうもありがとうございました。
とりあえず、リハビリを兼ねて。といってもまだ完全復帰には遠いかな……。
主な修正点を以下に示します。
Greasemonkey/SeaHorseスクリプトをお使いの場合、お手数ですが当該ページから新版をダウンロード願います。
■ ココログ関連スクリプト各種
  1. 2008年9月のバージョンアップメンテナンスに伴う修正
    1. ブログページ中の<link>要素書式変更により、RSSが取得出来なくなっていたものを修正。
      【該当スクリプトと症状】
    2. 管理ページ(ブログ)の書式変更により、カテゴリー要素が正しく取得出来なくなっていたものを修正。
      【該当スクリプトと症状】
  2. バグフィックス等
    1. 目次付きページング表示(cocoPView.js)(ver.0.07c→0.07d)
      • 多重読込みの禁止処理追加(特定ブログ上でページングがうまく動作しないケースがあったため)。
      • 'scrollOnPaging'オプションに'toPageTop'が設定されていると、トラックバック/コメントのページング時にもページの先頭までスクロールしてしまう不具合に対応。
        個別ページでは'toPageTop'の動作を'toIndexTop'と同じにした。
はてダ/WikiPedia脚注展開表示(expandFootNote.user.js)(ver.0.01f→0.01g)
  1. これまではマウスオーバで脚注表示/マウスアウトで脚注非表示としていたが、表示がばたつくことがあるため、マウスアウトでは非表示にはしない(展開したまま・クリックで非表示にする)仕様に変更。
はてブフィルタ(hbFilter.user.js)(ver.0.02→0.02a)
  1. いつの間にか、Google検索ページの構造変更に伴って動作しなくなっていたのを修正。
  2. カウンタ画像の応答がなく、'loading...'表示のまま戻ってこない事があったので、タイムアウト処理(10sec)を追加。
AutoPagerlike(ver.0.03o→0.03p)
  1. SITEINFOに複数ファイルを指定すると動作がおかしくなる(同一番号のページが複数追加されてしまう)不具合修正
  2. オプションファイル(!!autopageroptions.user.js)を修正。
    • はてダで画面が崩れることがあるのに対応。
    • Google イメージ検索でサムネイル画像クリックで直接画像が表示出来るように修正(フレームページや元ページもサムネイル横に■リンクで表示)。
Yin and Yang:リンク先をその場で表示(showYinAndYang*.user.js)(ver.0.02n1→0.02p1)
  1. これまでページ上の全リンクオブジェクトに予めイベントを設定していたのを、マウスオーバしたリンクにのみ設定するように仕様変更。
    これにより初期化時の処理が軽くなり、また、Yin and Yangで表示したプレビュー上のリンクやAutoPagerize等で追加されたページ上のリンクでも特に設定ナシでプレビュー出来るようになった。
    上記仕様変更に伴い、LDRize for SeaHorse の keybindex.js も変更が必要です(ソースは当該記事を参照)
  2. その他、表示操作上の微調整、バグ修正など。

« 2008年9月 | トップページ | 2008年12月 »

戻るリンク追加

カレンダー

2025年5月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

ココログカレンダーPlus(旧2)

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

コメントリストツリー化

無料ブログはココログ