タグ

tipsとgreasemonkeyに関するyheldのブックマーク (5)

  • 実用 - Firefoxが異常終了するとGM_setValueの値が保存されない

    LDR Dedupe Entriesとか、Tumblr - Check New Followersとか。一度、見たやつがあがってきちゃう。追ってないけど、ブラウザを閉じる時にGreasemonkeyがpreferenceに値を書いてる感じ。逆に言うと、細かくGM_setValueを呼び出しても、そんなに遅くないということかしら。(ソース読めばいいんだけどさ!)

  • 音が鳴る - ちなみに

    id:brazilさんのGreasemonkeyスクリプト「LDR - Signal」がとても良いというお話。 LDRにて次のフィード、次のエントリーのタイミングで音が鳴ります。ディフォルトでは次のエントリーでポン(エントリーが進むごとに高くなる)、次のフィードでポーンと高めの音がなりますが、mp3ファイルを再生する仕組みなのでファイルを変更すれば違う音も鳴らすことができます。 MP3_PI 次のエントリーへ移動時の音 MP3_PON 次のフィードへ移動時の音 に割り当てられているので、それぞれ好きなデータに書き換えると使用できます。data:URLを作るときは、The data: URI kitchen等が便利です。 僕はLDRでエントリーをざーっと流し読んで、気になったところに戻って読み直したりするのですが、戻ったときに音が鳴らなくてさみしかったので、少し書き換えて使わせていただいてい

    音が鳴る - ちなみに
  • ふぁっきん not well-formed, XMLHttpRequest とかで < 19 < June < 2006 < nulog, NULL::something : out of the headphone

    GreaseMonkey では GM_xmlhttpRequest で他のページとってくるじゃないですか。で、onload して req.responseXML をとるなり req.responseText をとるなりするけど、どうにもこうにも not well-formed なページ (HTML とか) をとってきてノード検索するとき面倒くさいんですよ。responseXML はもちろん空だし、responseText はもちろんただのテキストだし。 で、なんとなく思いついたので以下のように解決するようにした。 GM_xmlhttpRequest({ method : "GET", url : i.href, onload : function (req) { // てきとーなエレメント作って突っ込む (ブラウザにパースさせる) var d = document.createElemen

  • GreasemonkeyスクリプトのGM_xmlhttpRequestとかで取得したhtmlとかxmlをいじる場合はxpathだと遅いことが多いかも - gotin blog

    GM_xmlhttpRequestはresponseXMLを返してくれない。 DOMを作ってくれない、ということ(作ってくれなくていいんだけど)。 xpathするにはDOMを作る処理が必要になる。 DOMParser使うとか、適当なelementのinnerHTMLに突っ込んだりする。 そのときの処理時間がそれなりにかかるので、正規表現とかでひょいひょいパースするほうが早く終わるケースが多いような気がする。 だけど正規表現だと読みにくくてつかれてしまうので、例えばこんな感じの関数でも定義しておけばそれなりに読みやすくなりそうだしそれなりに速いし、ってことになるかなぁ、どうだろう。 function getTags(html, tagName, className){ var cls = ""; if(className){ cls = "[^>]*?class=\"" + classNam

    GreasemonkeyスクリプトのGM_xmlhttpRequestとかで取得したhtmlとかxmlをいじる場合はxpathだと遅いことが多いかも - gotin blog
  • livedoor Reader で特定のサイトや記事の本文を非表示にする - (new Hatena).blog()

    折り畳みの自動化 フィードに全文掲載云々という問題が言われたりしますが、それとは逆に、全文掲載してくれているんだけれど、もの凄く長文かつ大量の更新が行われるような (しかも読みにくかったりする) フィードもあるのではないかと思います。 そんなフィードを、畳んだ状態で表示して読みたいものだけをブラウザを開いて読む、という方法を考えてみました。 おなじみフックです: register_hook("before_printfeed", function(feed) { var link = feed.channel.link; var fold_it = /(?:jp.rubyist.net\/magazine)/; (fold_it.test(link) ? addClass : removeClass)("right_body", "compact"); })これだけです。 ただ、これだと正

    livedoor Reader で特定のサイトや記事の本文を非表示にする - (new Hatena).blog()
    yheld
    yheld 2007/09/13
    [参考にする]before_printfeedなんてあるのか
  • 1