2006-09-01から1ヶ月間の記事一覧

はてな 「キーワードリンクを編集」画面で全部チェック

超自分用。自宅でも書くので貼っとく。なんでそんなにキーワードリンクを嫌うのかは知らない。 // ==UserScript== // @name Kill Hatena Keyword // @include http://d.hatena.ne.jp/*/keywords?date=* // ==/UserScript== (function(){ var elements = docu…

方針を考える

打ち合わせから帰ってきたらもう答えが書いてある不思議なブログ!ブログってすげえ!Web2.0!直帰しないで良かった! mala大先生が色々教えてくださったので、いつも「どうするのが一番いいのよ?」って感じの俺の気持ちが「これでいいのね」になりそうだ。…

調査

人が望んでいるのはやはりGreaseMonkeyのスクリプトがそのまま動く、ということだ。 俺はスクリプトを書き換えなければならないけど同じ結果を得ることが出来る、というところで充分なのだが。 まあいいや考えるだけ考えてみる。つーか俺はGreaseMonkeyはと…

XPathについては

とりあえずグダグダな状況から抜けてからですね。Googleになんかあるとか読んだ。 msxmlじゃよっぽどそういう書き方をしたhtmlじゃない限りパース通らなかったと思います。 俺自身XPathってxmlでしか使ったこと無いので。それも数年前の話でうろ覚えですが。

心が折れそうだ

他にもあるのだろうが、windowが書き換えられないので、location関係がabout:blankのままで使えない。 しかもクロスドメイン対策なのだろうが、document配下のhtmlは書き換えられるのにdocument.locationは触れない。 window.locationは書き換えると読みに行…

驚愕

var document = xxxx; とかエラーにならない。嘘だろ? 置換の問題は片付いた。 しかし諸事情があってローカル変数windowに代入する術が無い。代入自体は出来るんだけど。

できてねえ

GoogleAutoPagerが動いてないな、と思ったらwindow使ってるのか。 使わないように書き換えれば動くけど、そもそも別ウィンドウで動かしてるから、 locationとかwindowのほうが参照されるので書き換える部分が多すぎる。これじゃダメじゃん。 省略されてるwin…

一応できた

スクリプト内の「document」という変数のみを正しく置換する方法が分からんが。 引用符内は置換しちゃいけないんだけど正規表現マスターなら可能なんかね? 今めんどうだから「\bdocument\b」ってやってるだけだ。 意外とスクリプト切ってるのに動くのが邪魔…

くだらねえ

動かないタブがあったり2重に動いているタブがあったりで、腰を据えて考えないとならんと思ってたら 突っ込んだ変数__documentの前にvarが無かった。お前それどこのglobalだよハゲ!

昨日の続き

とりあえずやってみた。1枚だけで使う分には申し分ない。 利点として、タブ側がスクリプトを切っていても動かせる。これはカスタムパネルでもそうだったが、忘れていた。 問題点としては、予想していたがuser.jsでwindow.close()とかやると笑っちゃう結果に…

奥の手

JavaScriptでなんとかしようというのは手詰まり気味。 仕方ないので完全な別空間を用意する方法を検討するしか無いかなあ。問題が結構ありそうなんだが。 実装方法を詳しくは書かないが、まあ単に汚染用のIEコンポーネントを別途用意して、そちらでスクリプ…

fub用に書き換えた Google x はてブ

http://madchester.s54.xrea.com/archives/gb_fub.user.js具体的な改造ポイントは以下の通り XPathで //a[@class="l"] と指定しているところをdocument.linksで引っ張ってからclassNameで選別した。 XPathのことも考えないとダメかなあ。 const定義がエラー…

下の思いつきの検証

「onloadに指定した関数内でforEachを参照」を単純に試してみた。 ページを開いたときに適用した場合は既にforEachは削られていた。予想通りダメだ。 リロード時は残っていたが、これは適用タイミングが違うからなのかキャッシュの関係でonloadが早いだけな…

ちょっとした思いつき

user.jsの頭でprototypeを保存しておき、user.jsの最後に元に戻すというのはどうか? GM_xmlhttpRequestのonloadで呼ばれる関数の中でどっちが動くかを確かめてみる。

本当に汚染されてるじゃないか馬鹿

コメントを頂いたので独り言でもないけど流れ的に。 ちょっと調べてみたら過去に皆さん色々検討されてるんですね。 つーか「prototype 汚染」で一番上に来たmalaさんからコメントを頂いたよ! 俺も今日からジャバスクリプッター! そうでもない。 userjsが適…

別に1行に並べなくても

関数で包んで関数を1行目で呼べばいいか。 それより汚染について調べる。

下のArray.forEach

代入式なんだから下に定義したらダメじゃん。アホか。 ということは改行コード抜いて1行目が1000文字とかになるね。気持ちわるっ。

forEachダメですね

動作確認ぐらいしてからリリースしろ、という話だ。 http://subtech.g.hatena.ne.jp/secondlife/20060925/1159192535 なるほどー。でも組み込みオブジェクトのプロトタイプに追加ってグローバルに汚染される気もします…。というわけで fub 0.9.2.2(人柱の最…

UserScriptからのみ使える関数定義などの仕組み

http://subtech.g.hatena.ne.jp/secondlife/20060925/1159181124 ちょっと質問なのですが、この Array.prototype 拡張が適用されるのってどのタイミングなのでしょうか?通常の html のロード時にすでに書き換わってると既存の JS コードで問題が発生する場…

fub用に書き換えた全サイトはてブ化

http://madchester.s54.xrea.com/archives/hb_addict_fub.user.js 具体的な改造ポイントは以下の通り。 document.contentTypeはIEには無いので使ってない。 同じようなものも無いようだ。あんまり真剣に調べなかったが。 IEではsetAttributeでstyleを指定し…

fub.net 0.9.2.2(人柱版)

なんだかセキュリティに少し自信が無いので人柱版としか言えない。 GM_xmlhttpRequestのonload functionからGM_xmlhttpRequestを呼び出すことができていなかったので修正。 これをやられるとcallerが循環してしまうようで、stacktraceでのチェックが出来なく…

textareaをエディタで

よくある機能のような気がするが、あまり使い勝手が良いと思ったことがないので、 本体の強みを見せていい感じに実装するのもいいかも。

より安全なxmlhttpRequest

ちょっと思ったのだが、絶対に見られては困るWeb上の情報というのは結構少ない。 俺だけかもしれないが。 拒否するURLの正規表現を設定できればより安心かもしれない。 2006/10/17 追記 別ウィンドウで実行することによりもっと安全になったのでボツ。

external拡張案

案の手前の検討。 external経由でxmlhttpRequestを実装しクロスドメインアクセスを実装したが、基本的な路線としては セキュリティに問題があって実現できないものは本体が頑張って安全に提供できれば提供 単にJavaScriptじゃ無理だけどC#なら簡単なものを気…

カスタムパネル内のローカルファイルからはGM関数を利用可能にする

色々なサイトから拾ってきて表示するようなスクリプトを書けば、 なんか面白いことが出来そうな気がする。 使い道のほうに良いアイデアが出れば実装してみようか。 けど狭いんだよなあ。スクリプトで作ったRSSリーダーとかぐらいしか思いつかない。

ページ内のスクリプトは実行しないフィルタ

普段スクリプトを切っていたい人(おれおれ)はUserScriptを使いにくい。 ページ内のスクリプトが実行される直前のタイミングは既に把握しているので、 そのタイミングでページ内のスクリプトを除去してしまうというのはどうか。 そのフィルタを常用してれば…

ここにメモをとっていくよ!

ここはオープンにクネっていこうと思う。