タグ

2008年4月17日のブックマーク (9件)

  • javascript - uneval() for the rest of us! : 404 Blog Not Found

    2009年02月26日11:30 カテゴリLightweight Languages javascript - uneval() for the rest of us! うーん、それもそうなんだけど.... 最速インターフェース研究会 :: JavaScriptにおけるdeep clone まず、Object.prototypeにメソッドを生やしてしまうとfor inでキーを列挙するときにいちいちhasOwnPropertyを使わないといけなくなるので普通は使いません。 で、JSONにするのにFirefoxだとtoSourceというのが使える。unevalというラッパーがあって、これだとnullでも平気。 そのuneval()が他にないので、作ってみた。 初出2007.11.27; 追記2008.06.14, 2009.02.26 文字列のEscapeをFirefox互換に。あと、 /la

    javascript - uneval() for the rest of us! : 404 Blog Not Found
    teppeis
    teppeis 2008/04/17
    toString() のラッパー
  • IEでのデバッグ/動作確認に便利なソフトいろいろ:phpspot開発日誌

    IEでのデバッグ/動作確認に便利なソフトいろいろ。 沢山あるのでまとめてみました。 IETester IE5.5, IE6, IE7, IE8でのページレンダリングを1つのソフトで一括チェックできる超優れものソフト。 Vistaでも使えるようで今後のWEB開発に必須となりそうなツール。 IEとFirefoxの同時レンダリングはCSSVistaが便利。 DebugBar IEに便利機能のついたツールバーを追加 ブラウザ画面のキャプチャをメール送信 カラーピッカー 特定の画面解像度にリサイズする機能 ページの表示を 10% 〜 800% まで拡大/縮小表示できる( IE の Zoom 機能使用 ) 画像やFlashなどのobject も拡大縮小できます ソースコードをハイライト付きで表示 オリジナルのソースと、IEが解釈した後のソースを見比べることも可能 指定文字列ハイライト検索機能 Comp

  • (function(var){..............})(var) と function(var){............} の違い。つまり、クロージャ。 - それ図解で。・・・tohokuaikiのチラシの裏

    <script> (function(v){alert(v)}("aa")); hoge=function(v){alert(v)}; </script> ってやった場合、ローディングが終わったら alert("aa") が実行される。 ただし、 <script> (function(v){alert(v)}("aa")); hoge=function(v){alert(v)}; hoge("bb"); </script> ってやった場合、ローディングが終わったら alert("aa"); alert("bb") が実行される。 function全体を()でくくった場合は、それ自体を無名関数化して1回実行させる。 じゃあ、(function(){})は何を返すか? <script> hoge=(function(v){alert(v)})("aa"); alert(hoge); </scr

    (function(var){..............})(var) と function(var){............} の違い。つまり、クロージャ。 - それ図解で。・・・tohokuaikiのチラシの裏
  • sawatの日記 - evalの第二引数とGreasemonkeyのunsafeWindowについて

    「http://d.hatena.ne.jp/brazil/20070420/1177060289」でFirefox専用の第二引数に環境の指定をとるevalの使い方について説明されています。その元はこちら「http://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20070414#p02」で、僕もこれを見たときに初めてしりました。そのころ僕はグリモンのスクリプトをいじっていたので、ちょっと気になっていくつか試してみて、ネタ元のページに以下のようなブクマコメントをしました。 evalの第2引数しらなかった。これを応用すると、GreasemonkeyでusafeWindow.xxx() とする場合、xxx内部からeval("GM_xmlhttpRequest", arguments.callee.caller)でGM_xmlhttpRequestが取得されてして

    sawatの日記 - evalの第二引数とGreasemonkeyのunsafeWindowについて
  • GreasemonkeyスクリプトからDOM Storageを使う - FAX

    JavaScriptGreaseSpot - Code snippets - make an array persistent in globalStorage これを見た。 storage('user', 'taro'); ok(storage('user')=='taro'); storage('user', null); ok(storage('user')===void(0)); storage('user', {a:5}); ok(storage('user').a == 5); storage('user', [1,2,3]); ok(storage('user').length == 3); ok(storage('user')[0] == 1); function ok(exp){ exp? console.info('OK') : console.error('FAIL

  • Greasemonkeyで永続的に外部スクリプトを利用する - 技術メモ帳

    GM_setValue / GM_getValue + unsafeWindow.eval を使って 永続的に外部スクリプトを利用する方法を考えてみた。 わざわざ DOM で script要素 を毎回注入するよりも 速いんじゃないかと思う。 Greasemonkeyには、GM_setValue / GM_getValue というのがあって、 GM_setValue("キー", "値") 上記のように入力してあげる事によって、たとえ、 Firefoxを終了させたとしても消えないデータを作成する事が出来る。 そして、それを利用して、 初回のみ XmlHttpRequest で外部スクリプトデータを取得して、 GM_setValue でスクリプトデータを永続化しておき、 二回目以降は、それを GM_getValue して eval するようにした。 以下は、永続的に prototype.js を

    teppeis
    teppeis 2008/04/17
    GM_setValue, unsafeWindow.eval
  • [javascript] IEとFirefox2.0以上で動作するClient Side Storage

    Firefox2.0では、WHATWGのWeb Application1.0仕様の一部である、Client Side Storageを実装しています。FirefoxのClient Side Storageには、セッション中のみデータが有効で同一ドメイン間のみアクセスできるSession Storageと永続データ管理が可能でクロスドメインでデータにアクセスすることもできるGlobal Storageがあります。 これにより、IE5以上とFirefox2.0以上で永続データ管理が可能になりました。どうせなら同じAPIで使用したいのでFacadeデザインパターンを使用し、カプセル化したいと思います。 Client Side Storageデモ その前に、Firefox2.0sessionStorageとglobalStorageについて。 sessionStorage sessionStora

    teppeis
    teppeis 2008/04/17
    UserData Behaviour, globalStorage, sessionStorage
  • Unicodeエスケープ - sawatのブログ

    付箋紙Greasemonkeyで、GM_setValueに登録した日語の文字化け対策にencodeURIをつかったけど、encodeURIはURIをエンコードするための関数なのであんまり褒められた使い方ではないですね。しかも、encodeURIのようなURLエンコーディングは文字列をUTF-8にしてから、エンコード対象の各バイトを%xx形式*1で表現するので、日語1文字をあらわすのにたいていの場合ASCII9文字が必要になって効率が悪いです。*2 なので、前述のような単に非ASCII文字をエスケープしたいだけのようなケースではUnicodeエスケープを使った方がよいです。Javaのpropertiesとかnative2asciiとかのやつです。 Unicodeエスケープは\uxxxx*3の形式であらわすので、たいていの日語1文字はASCII6文字になって、URLエンコーディングに比べ

    Unicodeエスケープ - sawatのブログ
    teppeis
    teppeis 2008/04/17
    GM_setValueに登録した日本語の文字化け対策, ”マルチバイト”.toSource()
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知