タグ

ブックマーク / teramako.hatenadiary.org (8)

  • Nightly で Function.toString() の挙動が変わった - hogehoge @teramako

    いつから変わっていたか、分からないけど...。 function sum(){ // 引数を全部足すよ return Array.reduce(arguments, function (result, current) { return result + current; }); } sum(1,2,3,4,5); sum.toString(); 下記画像は上記コードを書いた結果である。 旧来(Firefox 10 ESR)では、整形された結果を返してくれていた。 ところが、Nightly では、入力コードそのままを出力しているように見える。コメントや改行位置、インデントまで反映された結果となっている。 別に、どちらが良いというわけではないが、アドオンなどで、Firefox内部の関数を上書きするために、 eval('obj.to.func = ' + obj.to.func.toStrin

    Nightly で Function.toString() の挙動が変わった - hogehoge @teramako
    os0x
    os0x 2012/07/26
    これ地味に大きな変更。他ブラウザと大体同じ挙動になったので、大分マシな here document が実現できるようになる。
  • 変なJavaScript (+ E4X) - hogehoge @teramako

    最近、E4X の勉強をしている(仕様はStandard ECMA-357ね) ご存知の通り(?) Mozilla の JavaScript *1には E4X が使えるのだが、いろいろ罠チックなものがあったり、ECMAScriptの仕様を壊してしまっていたりと面白い(ぉ const XHTML = new Namespace("xhtml", "http://www.w3.org/1999/xhtml"), LANG_JA = new Namespace("ja", "http://example.com/ja"), LANG_EN = new Namespace("en", "http://example.com/en"); default xml namespace = XHTML; var xml = <root xmlns:ja={LANG_JA} xmlns:en={LANG_EN

    変なJavaScript (+ E4X) - hogehoge @teramako
    os0x
    os0x 2010/08/16
    0.*.0は0*0だからどのブラウザでも0だろうな
  • github用のjsライブラリを作ってみた - hogehoge @teramako

    github pageでコミットログを表示の続き。と言っても中身を大幅に変更したが。 Develop.GitHubにあるAPIを使用している。 使用例 細かいマニュアルを書くのが面倒(どうせ自分しか使わないだろうし) :-P 使用例: 最新のコミットログを表示 <pre id="history"></pre> var elm = document.getElementById("history"); GITHUB("commits", { user: "teramako", project: "JetpackScripts", branch: "master", target: elm }).getCommitsListForBranch(function(commits){ var mostRecentCommit = commits[0]; var str = ""; for (var

    github用のjsライブラリを作ってみた - hogehoge @teramako
  • クリックジャックの脆弱性があるみたい - hogehoge @teramako

    Firefox 3.0.5 にステータスバーを偽装できる欠陥 - Windows Livebookmark ステータスバーの表示を偽装できてしまう脆弱性があるようです。「ようです」というか実装コードのサンプルもあるのでやってみると確かにステータスバーに表示されているURLとは別のURLへ飛んだ。 ポップアップでURLバーを偽装している風のやつかなと思ったので、ステータスバーが標準と異なるVimperatorなら問題ないんじゃないかと思ったが、作りが全然違ってVimperatorでも偽装されてしまった。 作りはサンプルを見てくださいな。 Safari,Chromeでも動作するようです。GeckoもKHTMLも同じような実装方法なんだろうけど、リンクのクリック時の動作ってどうなっているんだろう。クリックイベントを受け取ってtargetからURLを割り出してオープンしているのとは違うっぽい感じ。

    クリックジャックの脆弱性があるみたい - hogehoge @teramako
    os0x
    os0x 2009/01/24
    preventDefaultとかonclickのreturn falseとかでも普通にできるような。
  • Grasemonkey用プラグイン(gmperator.js)が開発者に優しくなりました - hogehoge @teramako

    http://coderepos.org/share/changeset/9038 をご覧になると分かると思いますが、いろいろと変更しました。 Download: gmperator.js 今回の変更の肝はプラグイン開発者用(g:unsigned:id:Trapezoidさんとか)にliberator.plugins.gmperatorを用意したところですかね。 Greasemonkeyで使用しているsandboxを保持できるようにして、アクセスができるようにしました。*1 簡単に確認するには、 :echo plugins.gmperator.currentSandbox.document.title :echo plugins.gmperator.curretnContainer :echo plugins.gmperator.currentSandbox.Minibuffer*2 :j

    Grasemonkey用プラグイン(gmperator.js)が開発者に優しくなりました - hogehoge @teramako
  • Greasemonkeyのソースがかなりアレな件 - hogehoge @teramako

    今、Greasemonkeyのソースを読んでる。実際にどうやってuser scriptを実装させているかの辺りを読んだ。 しかし、物凄い量のグローバル関数だ.... "GM_"と接頭辞が付いたものは、まぁ許そう。しかし、Config関数(というかクラス?)は止めてくれ。そこからさらに呼んでいるgetScriptFile関数もグローバル、さらにgetScriptDirもグローバルだ。 しかも、Configクラスの呼び出しにnew Config(getScriptFile("config.xml"))としているが、Configクラスの実装は function Config(){ this.onload = null; this.scripts = null; this.configFile = getScriptFile("config.xml"); } となっていて、引数が全く意味をなしてい

    Greasemonkeyのソースがかなりアレな件 - hogehoge @teramako
    os0x
    os0x 2008/02/14
  • otsune氏現る - hogehoge @teramako

    たまたま自分の所の新着ブックマーク見たらちょっと面白かったのでキャプチャーしてしまった。 けっこうな威圧感が...w

    otsune氏現る - hogehoge @teramako
    os0x
    os0x 2008/01/11
  • 俺々拡張作成法 - 例題:Firebug を「カクカク化」して $x の第 2 引数でコンテキストノードを指定できるようにする。 - IT戦記 - hogehoge @teramako

    Firebug を「カクカク化」して $x の第 2 引数でコンテキストノードを指定できるようにする。 - IT戦記に対してブクマコメントでう〜ん、どうも健全な拡張開発って感じじゃないな..../来ならuserChrome.jsか拡張の拡張を作るべきだと思う/あとでなんか書くかもと書いたら [firefox][firebug][javascript][extension]id:teramako 僕は、手元の環境をグチャグチャにするのが好きで、グチャグチャにするのが勉強になるんじゃないかなーとか思ってるんです><ごめんなさい><確かに人に薦めるのはどうかなーってのもわかります>< http://b.hatena.ne.jp/amachang/20071213#bookmark-6788550 正直、ガリガリ弄れちゃうamachang氏が羨ましい>< 臆病なオイラは他人の拡張をグチャグチャに

    俺々拡張作成法 - 例題:Firebug を「カクカク化」して $x の第 2 引数でコンテキストノードを指定できるようにする。 - IT戦記 - hogehoge @teramako
    os0x
    os0x 2007/12/14
  • 1