カテゴリーのアーカイブ: Greasemonkey

AutoPost2del.icio.us ver0.8

※最新版はこちら『AutoPost2del.icio.us』です。
更新しました。内容は以下。

スクリプトの大幅な簡素化
ページ取得精度MAX
コンフィグメニューを実装
実行しないページの設定に対応

DLはこちらから『AutoPost2del.icio.us ver0.8』
例のごとく不具合が出た場合、前バージョンにしてみてください。→ 『AutoPost2del.icio.us ver0.75』
※アップデートやダウンデートをおこなうときはなるべく前のデータを全消去して下さい。

ツール→Greasemonkey→ユーザースクリプトの管理→AutoPost2del.icio.usを選択→関連付けられた設定も削除にチェック→アンインストール

<解説など>
parent.document == documentてなんだよヽ(`Д´)ノでも書いたようにスクリプトを大幅に簡素化しました。コンフィグ関連のコードを追加しても、ファイルサイズが減ってるくらいなので、実質半分くらいになってるかも(゜∀。)……いままで一体なにやってたんだと。
コンフィグメニューはクリーンインストール状態だと一番最初に出てきます。del.icio.usのユーザーネーム、パスワード、最低投稿時間をそれぞれ入力してください。ウィンドウはグリモンのメニューから呼び出せます。

ツール→Greasemonkey→ユーザースクリプトコマンド→AutoPost2del.icio.us

前ページのリンク情報取得などという、かったるい処理を省きましたので、グリモンにデフォルトでついている実行しないページの設定で、ページをポスト対象外にすることができます。

ツール→Greasemonkey→ユーザースクリプトの管理→AutoPost2del.icio.us→ユーザースクリプトを実行しないページ→追加

今後のアップデートでは、自動タグ機能、 ステータス表示機能、edit機能 等を考えています。実装できるかはわかりませんけれども。

parent.document == documentてなんだよヽ(`Д´)ノ

夜中ですが久々にショックを受けたので。
あぁ parent.document == document なんて書き方があったのね~。AutoPost2del.icio.usを作るにあたり、以前から現在見ているページだけを取得する方法をいろいろと試してました。今までいろんな角度からこの問題に挑戦して、この間のver 0.75でそれなりの精度を出せるようになって満足してました。が、今回のスクリプトで撃沈です。前ページのリンク情報とか、動的に変わるURLとか、フレームが使われてるページとか、全部まとめてそんなの関係ねーて感じです。
んーこの書き方は思いつきそうで思いつかなかったな。無駄ではないだろうけど、この一ヶ月かなり遠回りをした感じです。よく言われる、他の人が書いたコードを見ると勉強になるということを、身をもって体験しました。というわけで 、AutoPost2~の内部スクリプトがまた大幅に変わります。今度こそページ取得精度が完璧になると思います。あとちゃんとしたコンフィグをつけます。

AutoPost2del.icio.us ver0.75

※最新版はこちら『AutoPost2del.icio.us』です。
更新しました。内容は以下。

ページ取得精度のさらなる向上

  DLはこちらから『AutoPost2del.icio.us ver0.75』
例のごとく不具合が出た場合、前バージョンにしてみてください。
→ 『AutoPost2del.icio.us ver0.7』 ※アップデートやダウンデートをおこなうときはなるべく前のデータを全消去して下さい。
ツール→Greasemonkey→ユーザースクリプトの管理→AutoPost2del.icio.usを選択→関連付けられた設定も削除にチェック→アンインストール。
<解説など>
前回に引き続きカウント対象になるページの取得精度を上げました。おそらく、グリモンではコレくらいが限界かと思います。今回のアップで、動的にURLが変わるページにも間接的に対応しました 。ネタばらしをすると、ページ上でマウスカーソルが少しでも動くとカウント開始します。前回まではクリックをすることで同じ動作となってましたが、もっと簡単にしました。これにより、全面Flash以外のページは大体カウントできると思います。もちろん、今までどおり前ページのリンクからページが判定できる場合は、この動作はキャンセルされます。
グリモンで全ページをスクリプト対象にした場合、難しいのがその中から対象となるページを選別することです。なにせ1ページといっても、フレームから外部スクリプトにいたるまで、さまざまなページを内包しています。通常のままグリモンを使うと、それら全てのページがスクリプト対象となってしまいます。
AutoPost2del.icio.usのようにブックマークをするスクリプトでは、この問題は顕著です。例えばフレームを使ったページを考えると、メニューやメインフレーム、iフレームなどすべてのページをアップロードすることになってしまいます。コレは不便。今回のアップデートでも、このフレーム問題を解決するためにスクリプトが多くなりました。そのため重くなってるかも。コレで解決→parent.document == documentてなんだよヽ(`Д´)ノ そんなわけで、基本動作の現在見ているページを取得→del.icio.usアップロードに関しては大体出来ました。次はconfig関連のアップデートなどしたいと思ってます。いい加減iGoogleがポストされるのはウンザリだし。

AutoPost2del.icio.us ver0.7

※最新版はこちら『AutoPost2del.icio.us』です。
アップデートしました。内容は以下

内部スクリプトの簡素化
1.により動作の軽量化?
カウントページ取得精度の向上
直URL入力等からのページカウント機能追加
リードランク11が出ないバグ修正

となっております。
DLはこちらから『AutoPost2del.icio.us ver0.7』
最初のうちはバグがあるかもしれないので、あしからず。
動作がおかしかったらカコverを使って下さい→ 『AutoPost2del.icio.us ver0.6』
<雑感など>

今まで使われてた方すんません。今回のバージョンで安定動作するなら、コレが最初のベースバージョンとなります。0.6ではリンク取得方法がお粗末でリンク先のページが取得できないケースが多々ありました。前verまではページ全体がロードし終わってから全リンクに機能を付加するやり方でした。この方法だと、Ajaxバリバリなlivedoor ReaderやiGoogleなど、リンク情報が随時書き換わるタイプのページではカウント漏れすることがありました。ライブドアリーダーに至っては、全くリンク情報が取得できませんでした。
今回からはクリック後に機能を付加する方法に変えました。最初からこの方法でやろうと構想はしていたのですが、やり方がわからなかった…。event.targetとかでurl取得できんのね。eventオブジェクト超便利!これだと、ほぼ100%リンク先のページがカウント対象となるはずです。urlが動的に変わったり、Flashなページだとお手上げですが。url動的変化のほうはGM_xmlhttpRequestとかうまく使えば回避できるのかしら。
そうそう、ここでこのスクリプトの裏技を一つ。全面Flashなどのページでも、そのページのウィンドウ内でマウスクリックすると必ずカウントを開始しますするかも(調査中)。 これはフォーカスイベントを使っているためです。どこかで不安がっている方もいらっしゃいましたが、もちろんタブが複数あったときはフォーカスしている前面のタブのみ時間のカウントをしています(正確にはカウントすらしてませんが)。その他のタブでのカウントは停止しています。他のタブにフォーカスすると当然入れ替わります。また、フォーカスしていないタブを閉じても、コレも当たり前ですが、そのタブページが指定時間に達していたら自動投稿されます。

滞在時間でdel.icio.usに自動postするGreasemonkey『AutoPost2del.icio.us』

※最新版はこちら『AutoPost2del.icio.us』です。
この前作ったやつ。ちょっと更新しました。名前も正式に決めました。
DLはこちらから→ AutoPost2del.icio.us

変更点は

リードランクの微調整
ログURLの保持方法変更。
8時間ブラウジングしてないと自動的にログ削除。

となっております。
前まではURLと時間で2つの配列を持っていましたが、URLにカンマ(,)が入っているとエラーになるようなので変更しました。てかURLにカンマ使うのどうなのよ!TIMEのページが使ってたのでそんなに珍しいことではないのかもしれませんけど。
TIMEといえばこの写真スライドがすごかった。涼やかな南極の氷の下にいる生物の写真 - GIGAZINE:の別バージョンらしいけど、このスライドのほうが何倍も衝撃を受けた。ありがちな虫の拡大写真なのだけど、質感が今まで見てきたものと次元が違う。どうやって撮っているのだろう。