タグ

ブックマーク / ofk.hatenadiary.org (12)

  • ブラウザごとのlocation.hashの挙動のまとめ - ?D of K

    今更ですが、location.hashで現在のステータスを管理するのがマイブームです。しかし、ASCII以外をぶち込むとブラウザごとに挙動が違うっぽいです。というのを調べておいて、書いておくのを忘れたので、まとめておきます。 方法 以下のアクションを起こした場合、location.hashで取得できる値がどうなるか、調べました。なお、ファイルはUTF-8で試しました。 ファイルに書いてあるリンクをクリックした場合 A1:#test B1:#てすと C1:#%E3%81%A6%E3%81%99%E3%81%A8 A2:#test#test B2:#てすと#てすと C2:#%E3%81%A6%E3%81%99%E3%81%A8#%E3%81%A6%E3%81%99%E3%81%A8 A3:#test%23test B3:#てすと%23てすと C3:#%E3%81%A6%E3%81%99%E3%

    ブラウザごとのlocation.hashの挙動のまとめ - ?D of K
    efcl
    efcl 2013/12/04
    location.hashの挙動まとめ
  • 簡易テストツールを公開しておきます - ?D of K

    今年はブログを書きたいと述べて二ヶ月以上経ってしまいました。 最近、大規模だったり高速だったりという需要に応えるJavaScriptを書く道具がいくつも出てきています。一方で、小規模でもっと手軽にという道具がイマイチ少ない気がします(主観)。jQueryでもうちょっと届かないところを埋めるそういう道具を少しずつ準備していこうかなと思います。 まずは昔作ったユニットテストを改良したので公開しておきます。 GitHub - ofk/utest: Unit test library in JavaScript utestは最小限のユニットテストを提供します。昔作ったのでIE5.5でも動きますが、そういう目的にはあんまり使うつもりは無いです。 方針としては容易に書けるテストを目指しました。自分はテスト書くのがたるくて手が止まるというのがありがちなので……。 例えば、以下に示すsample.jsをテ

    簡易テストツールを公開しておきます - ?D of K
    efcl
    efcl 2012/07/01
    unit test ofk
  • CSS3なライブラリxcss.jsを作ってみました - ?D of K

    GitHub - ofk/xcssjs デモ(オリジナルはCSSでアイコンをデザイン - Hail2uのDesign icon with CSS) デモの結果はオリジナルと同じでよく分からないかもしれませんが、CSSが違います。xcss.jsを読み込むとベンダープリフィックスは記述不要です。 つまり、どういうことかというと .rotate10 { transform: rotate(-10deg); } とCSSで書いておき、xcss.jsを読み込むと、 .rotate10 { -moz-transform: rotate(-10deg); -webkit-transform: rotate(-10deg); -o-transform: rotate(-10deg); -ms-transform: rotate(-10deg); } というCSSを動的に追加するライブラリです(実際はブラウ

    CSS3なライブラリxcss.jsを作ってみました - ?D of K
    efcl
    efcl 2011/03/28
    CSS3な要素に自動でベンダープリフィックスをつけてつけてくれるJavaScriptライブラリ
  • BigInteger作った - ?D of K

    ちょっと使おうと思ったのだけど、負数が使えない実装が多かったりしたので、自作してみた。 https://github.com/ofk/bigint 四則演算しかないし、遅いので、まだ改良する予定。 使おうと思った他のライブラリのメモ。 Classes.Big Number - JSFromHell.com: JavaScript Repository 乗算で0と-0の区別がある。(-123*0の結果) 除算の答えが浮動小数なのが好みじゃない。 あんまり速くない。 JavaScriptで巨大整数演算 - faireal.net ファイルが多いので導入が少し面倒。 加減算がちょっと早い。 負数が混ざった除算の結果が好みじゃない。 Bigint.add(new Bigint, new Bigint)みたいな書き方でOOっぽくない(ラッパー必須)。toStringの結果が単純な数値じゃない。 Gi

    BigInteger作った - ?D of K
    efcl
    efcl 2011/01/10
    JavaScriptでBigIntを扱うライブラリ。負数にも対応
  • CSSXSSを改良した?手法でmixiのpost_keyを抜き取るデモを作りました - ?D of K:

    IDを抜き取る方法が思いつかなかったので、「はまちちゃん」の書き込みの二年来の再来とはいきませんが、セキュリティーホールだと思うので、早めに書いておきます。(修正済みです) 実証コード http://k75.s321.xrea.com/cssxss/mixi.html パッチ済みのIE6でmixiにログインしていた場合、post_keyの取得を確認できると思います。勘違いだったらすみません。その際、僕のmixiのあしあとに残るのでその点のみ注意してください。 手法 CSSの読み込み いわゆるCSSXSSと同じようにlinkを使って、ファイルを読み込みます。旧来の手法では中括弧があることでCSSと誤認識させ、cssTextで取得しましたが、今回は文中に「}selector{property:」という文字列を埋め込んで、selectorに該当する要素のcurrentStyle.property

    CSSXSSを改良した?手法でmixiのpost_keyを抜き取るデモを作りました - ?D of K:
    efcl
    efcl 2010/08/06
    UTF-7で中括弧の誤認を起こす。IE
  • ニコニコ動画七月版プレイヤーのAPI - ?D of K

    http://blog.nicovideo.jp/2010/07/post_257.phpで告知されていたプレイヤーのAPIを確認しました。 document.getElementById("flvplayer").ext_*() で実行します。 ext_play(boolean) trueなら再生。falseなら停止。 ext_setPlayheadTime(number) number秒に頭だし。 ext_setMute(boolean) ミュートのオンオフ。 ext_setVolume(number) ボリューム設定(0〜100)。 ext_setCommentVisible(boolean) コメント表示のオンオフ。 ext_setRepeat(boolean) リピートのオンオフ。 ext_setVideoSize(string) fitなら全画面、normalなら通常画面。 e

    ニコニコ動画七月版プレイヤーのAPI - ?D of K
    efcl
    efcl 2010/07/26
    ニコニコ動画のJavaScriptから叩けるプレイヤーAPI。NG機能欲しいです。
  • 全てのサイトでGM_xmlHttpRequestを使うスクリプトその2 - ?D of K

    またか。(cf. 全てのサイトでGM_xmlHttpRequestを使うスクリプト) // ==UserScript== // @name GM_xmlhttpRequest // @namespace GM_xmlhttpRequest // @include * // ==/UserScript== var elem_send = document.createElement("div"); elem_send.id = "_GM_xmlhttpRequest_send"; elem_send.style.display = "none"; var elem_receive = document.createElement("div"); elem_receive.id = "_GM_xmlhttpRequest_receive"; elem_receive.style.display

    全てのサイトでGM_xmlHttpRequestを使うスクリプトその2 - ?D of K
    efcl
    efcl 2010/02/17
    unsafeWindow
  • 日本のJavaScript界隈のブログを適当かつ詳細にまとめてみようと思って挫折したけど、もうちょっと頑張ってみた - ?D of K

    あらすじ 僕は無しにJavaScriptを覚え、その後も全くを読まなかったため(今もまだJavaScript関連のを持っていない)、友人の変態C++プログラマにJavaScriptを覚えるためのを聞かれて、答えることが出来ませんでした。しかし、そんな中、颯爽と助けてくれた某JavaScriptコーダーがおり、そんなことがあって、世間のJavaScriptコーダーってどういう人たちなんだろうと気になって、とある勉強会に参加して、なぜか最後、指名手配されて、いや、僕はそんな知られるほどのことはしていないと思っていたのだけど、まぁ、何かやり遂げてはいたのかもしれないと思ったので、JavaScript界隈の有名人を調べてみることにしました。 まとめ方 多くのJavaScript界隈の有名人はJavaScriptで有名なブログを持っているに違いないという発想の元でTopHatenarのJav

    日本のJavaScript界隈のブログを適当かつ詳細にまとめてみようと思って挫折したけど、もうちょっと頑張ってみた - ?D of K
    efcl
    efcl 2009/12/19
    Javascript関係のブログまとめ
  • オフラインでまとめ読みするためのAutoPagerizeの使い方 - ?D of K

    割とオフラインになってから、記事のまとめ読みをすることがあります。そういうわけで、記事を事前にダウンロードする必要があるので、タブでいっぱい開いたりすることがあります。最近ではどこのサイトもAutoPagerizeが結構効いているので一番下にスクロールしてやると簡単に全ページをダウンロードすることができます。 というわけで、自動で一番下までスクロールし続け、AutoPagerizeが終了したら、スクロールをやめるブックマークレットです。 javascript:var D=document,B=D.body,E=D.documentElement,C="clientHeight",S="scrollHeight",O="offsetHeight";(function f(){if(D.getElementById("autopagerize_icon")){window.scrollTo(0

    オフラインでまとめ読みするためのAutoPagerizeの使い方 - ?D of K
    efcl
    efcl 2009/11/22
    Autopagerizeで一番したまで行くブックマークレット
  • IE5で動くjQueryっぽいライブラリができていました - ?D of K

    半分ぐらいjQueryからコードを持って来たような気がしますが、IE5でもjQueryっぽく書けるライブラリができていました。正直、あんまりブラウザのチェックとかしていないので、実際に使うのは結構危険です。 http://code.0fk.org/$/ とりあえず、イベントとアニメーションだけ設定した例です。 重要なこと jQueryから乗り換えてもいいですか? 乗り換えない方が良いと思います。 IE5のサポートをしたいので使っても良いですか? 商業サイトならIE6からのサポートにして、jQuery使った方が良いと思います。 ソース見ると関数呼び出し減って、速そうなので使っても良いですか? 速さを目的とするなら、uupaa.jsをオススメします。 使っても良いですか? 使わない方が良いと思います。 Twitterで重要なことが謙虚すぎる、つまり、目立っていないとあったので、目立つようにしま

    IE5で動くjQueryっぽいライブラリができていました - ?D of K
    efcl
    efcl 2009/11/20
    IE5対応のjQueryっぽいもの
  • 文書中のXPathだとかセレクターを取得するGreasemonkey - ?D of K

    必要に迫られてようやく作った。 // ==UserScript== // @name XPath Finder // @namespace userscript // @include * // ==/UserScript== function $X(exp, context, type) { if (context && !context.nodeType) { type = context; context = null; } if (!context) context = document; var exp = (context.ownerDocument || context).createExpression(exp, function (prefix) { return document.createNSResolver(context).lookupNamespaceURI(

    文書中のXPathだとかセレクターを取得するGreasemonkey - ?D of K
    efcl
    efcl 2009/09/30
    XPathを取得するセレクタ
  • ビルトインオブジェクトに拡張したい10のメソッド - ?D of K

    ビルトインオブジェクトをこねくり回すのはあまり好まれない方法だけど、僕は好きなので、割とやりたくなる。というか、やる。でも、やりはじめると際限なく拡張したくなってしまう。というわけで、最近は、とりあえず10と決めているので、それを書いてみることにした。 あ、IE5には対応していないよ! Array.prototype.each(callback [, thisObject])、Array.prototype.map(callback [, thisObject])、Array.prototype.filter(callback [, thisObject]) いきなりそれかよw、と思われそうだが、シェアの大きなブラウザで実装されていないのだから、仕方ない。mapとfilterはあるだけで幸せだ。jQueryのようなチェーンで記述することができるのだから(どんだけ、富豪プログラミングになるか

    ビルトインオブジェクトに拡張したい10のメソッド - ?D of K
    efcl
    efcl 2009/09/22
    javascriptのビルトインオブジェクト(Array / Date / Function / String)の拡張メソッド ユニペット
  • 1