タグ

ブックマーク / sakuratan.biz (16)

  • クロスブラウザでdocument.createElement(‘iframe’)した要素のonloadを呼び出す方法

    …….φ(..)メモメモです。 document.createElement(‘iframe’) で作った DOM 要素に onload をセットする場合以下のようなコードを使います。 var iframe = document.createElement('iframe'); var onload_func = function() { // onload で実行する処理 } if (document.all && !window.opera) { // IE の場合 onreadystatechange が必要 iframe.onreadystatechange = function() { if (iframe.readyState == "complete") { onload_func(); } } } else { // IE 以外なら onload で良い iframe.on

    クロスブラウザでdocument.createElement(‘iframe’)した要素のonloadを呼び出す方法
  • jQueryのlive関数が超便利な件について | さくらたんどっとびーず

    先日 jQueryMobile をいじくってたらいまいちよく分からなかった部分があったので jQueryMobile のソースとかサンプルをだらだら見ていたのですが、live() という関数がちょいちょい使われてたので気になって調べてみました…ら、超便利なことが判明したので生存戦略しとこうと思います。 とりあえず semooh.jp さんの日語リファレンスによると、live 関数は未登録の DOM オブジェクトに対しても動作するイベントハンドラを登録する関数のようです。 jQuery 1.3より実装。 イベントに対してハンドラを登録します。 登録されたイベントは、現在および将来的にも、セレクタにマッチする全ての要素に適用されます。 カスタムイベントに対してbindすることも可能です。 live(type, fn) – jQuery 日語リファレンス って、これって超便利じゃん! って、

    jQueryのlive関数が超便利な件について | さくらたんどっとびーず
    cyokodog
    cyokodog 2011/08/10
    bind時のパフォーマンスが気になる場合はdelegate で
  • node.jsとjQueryでスクレイピングするウェブアプリの作り方

    やっぱ jQuery 便利ですよ(*´・ω・)(・ω・`*)ネー セレクタ使って jQuery でダカダカやってると、DOM とか正規表現でネチネチやるのがバカらしくなっちゃいます。 と日頃から思ってたりしてまして、サーバサイド JavaScript がメインストリームになって、jQuery でウェブアプリをコーディングできれば超ラクできるかもと期待しています。 で、先日サーバサイドJavaScriptとjQueryでスクレイピングという記事をうpったところ、やっぱ Rhino じゃなくて node.js がえーんよ(´・ω・`)というコメントを頂きましたので、node.js と jQuery でサーバサイド JavaScript スクレイピングしてみることにしました。 今回は node.js ですので、単にスクレイピングする(コマンドラインから実行する)スクリプトだけじゃなくて、スクレイ

    node.jsとjQueryでスクレイピングするウェブアプリの作り方
  • 新型はてなブックマークボタンを速くする

    遅い原因も調べてますがとりあえずその辺は後述ということで、先に新型はてブボタンの動作を速くする方法から書いていきます。 まずはてブのボタン配信ページから貼り付けコードを取得します。こんな感じの HTML スニペットがもらえると思います。 <a href="http://b.hatena.ne.jp/entry/http://sakuratan.biz" class="hatena-bookmark-button" data-hatena-bookmark-title="さくらたんどっとびーず" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"> <img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリ

    新型はてなブックマークボタンを速くする
  • node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーず

    2011年はサーバサイド JavaScript の年! サーバサイド JavaScript命は node.js! ということで割と普通のウェブアプリケーションを node.js で作るためのチュートリアルを書いてみました。WebSocket とか新しめの話題は結構見ますが、PHP とかで普通のウェブアプリ作ってる人向けのチュートリアルとかあんま見ないような気がしたので、って感じです。 チュートリアルの内容ですが、コード量が少なめで機能的にも分かりやすそうなモノということで、短縮 URL ウェブアプリケーションを作ってみることにしました。bit.ly とか t.co とか nico.ms みたいなアレです。短縮 URL のデータは MySQL に保存します。 結構長文になっちゃったので、先に目次置いときます。 node.js のインストール npm (Node Package Mana

    node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーず
  • サーバサイドJavaScriptとjQueryでスクレイピング

    jQuery でスクレイピングできたらセレクタ使えるし便利かなーと思ったりしたんですが、Rhino と env-js を使うと超簡単にできたのでレポートしてみます。 Rhino と env-js って何ぞい? Rhino ってのは Java で書かれた JavaScript エンジンです。Rhino を使うとコマンドラインから JavaScript を実行できます。 Rhino には DOM が無いので単体では jQuery を実行することはできませんが、env-js という DOM ライブラリを使用するとこの辺はクリアできます。 env-js の中に jQuery を使ったサンプルがいくつか入ってますので、Java とか JavaScript とか詳しい方はそちらを見てもらった方が早いと思います。 使ってみる まず env-js をビルドしないといけないのでその辺の手順から説明します。

    サーバサイドJavaScriptとjQueryでスクレイピング
  • Zen Coding Plugin for jQuery

    jQuery Zen Coding Plugin を作ってみました。Zen Coding の書式から jQuery オブジェクトを作る感じのやつです。 とりあえずソースとかは http://sakuratan.biz/jquery/zencoding/ に置いてます。オリジナルの Zen Coding と同じで MIT ライセンスです。 使い方 var obj = $.zenCoding('div#page>div.logo+ul#navigation>li*5>a'); で、Zen Coding を展開した jQuery オブジェクトを返します。上の例ですと、 <div id="page"> <div class="logo"></div> <ul id="navigation"> <li><a></a></li> <li><a></a></li> <li><a></a></li> <l

    Zen Coding Plugin for jQuery
  • jQuery Zen Coding plugin

    jQuery.zenCoding: Zen Coding plugin for jQuery Create jQuery objects from Zen Coding abbreviation. Usage Download jquery.zencoding-v0.6-0.9.zip and extract jquery.zencoding.min.js from the archive. Include jQuery and Zen Coding plugin from the HTML file. Create jQuery object from the Zen Coding abbreviation like this. <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/aja

  • arguments.calleeとsetTimeoutを使ってJavaScriptのリトライ処理を簡単に書く方法

    jQuery のソースから拾ってきたネタなんすが、arguments.callee と setTimeout を使ったリトライ処理が超便利なのでご紹介。 まず基形はこんな感じす。 (function() { // なんか処理 if (error) { setTimeout(arguments.callee, 20); } })(); 上のコードは error が真のとき20マイクロ秒後に無名関数の実行をリトライします。20マイクロ秒だとリトライ間隔が短いような気がするかもしれませんが、リトライ回数は1秒に50回ですので言うほどでもないです。 arguments.callee は関数内でのみ参照可能で、実行中の関数自身への参照を保持します。上の例では arguments.callee は無名関数への参照となります。setTimeout に arguments.callee を渡すその関数を

    arguments.calleeとsetTimeoutを使ってJavaScriptのリトライ処理を簡単に書く方法
    cyokodog
    cyokodog 2010/07/06
    arguments.callee の参照は処理速度が低下するので注意が必要
  • $.ajax と Google Analytics をシームレスに統合する jQuery プラグイン jQuery-ajaxGA | さくらたんどっとびーず

    jQuery を使った Ajax ウェブアプリに、シームレスに統合可能な Google Analytics jQuery プラグイン、jQuery-ajaxGA をgithub にて公開いたしました。 sakuratan’s jQuery-ajaxGA at master – GitHub jQuery-ajaxGA の目的 この目的のセクションですが長文乙なので下の方に3行でまとめてます。読むの面倒な方はすっ飛ばしてください。テラ親切プログwww ポックンの作ったウェブサービスに、凸ただしオトコの娘に限ると←だがそれがいいというのがあります。これらは元々、※ただしイケメンに限るというネットに一時代を築いたウェブサービスのパクリとして立ち上げたものです。パクリ元の雰囲気を極力再現するため jQuery をメインに使ったアプリケーション構成となっています。ちなみに※ただしイケメンに限るは T

    $.ajax と Google Analytics をシームレスに統合する jQuery プラグイン jQuery-ajaxGA | さくらたんどっとびーず
  • RDB ウェブアプリを Google App Engine へ移植する際の注意点とか | さくらたんどっとびーず

    Twit Delay も運用開始から一段落しまして、GAE での開発ノウハウも多少貯まってきたと思いますので、ちょろちょろ公開していきたいと思います。 で日は、Google App Engine (GAE) で開発する際に一番問題…って言い方は微妙なんだけど、とりあえず生まれて始めてのプログラミングが GAE って人も稀だと思いますし、RDB を使ったウェブアプリの開発経験がある方が多いと思いますので、RDB から GAE のデータストアへ移植する際に把握しておいた方が良い点についてまとめてみました。 実際に Twit Delay は SQLite3 を使った RDB ウェブアプリを GAE に移植したのですが、その際にひっかかった、RDB と GAE データストアの違いはこんなところです。 Create Table 等に相当する命令は無い Index は index.yaml で指定す

    RDB ウェブアプリを Google App Engine へ移植する際の注意点とか | さくらたんどっとびーず
  • jQuery から bit.ly API を呼び出す時にハマりましたw | さくらたんどっとびーず

    さくらです☆こんちわww Twit Delay の入力フォームを bit.ly の API に対応させたんですが、超くッだらねーところで2時間ぐらいハマったのでご報告w まず bit.ly API のマニュアルですが、Google Code の bitly-api から見れます。こちらのページから、REST API のドキュメントとJavaScript API のドキュメントにリンクされているのですが、ブラウザから JavaScript 経由で bit.ly API を呼び出す際も JavaScript API は使わない方が無難です。 というのも、bit.ly の JavaScript API は以下のステップでプログラミングできるように構成されているのですが、 http://bit.ly/javascript-api.js?version=latest&login=LOGIN&apiK

    jQuery から bit.ly API を呼び出す時にハマりましたw | さくらたんどっとびーず
  • PHPSPOT に学ぶ – スパムサイト自動生成コンテンツの賢い作り方 | さくらたんどっとびーず

    さくらです♡こんばんわ☆彡 皆様 PHPSPOT ってご存知? PHPSPOT って言うよりも PHPSPOT 開発日誌 の方が有名かしら? こっちのブログは色んなところでよく見かけるし、アルファブロガーwによく叩かれてるしwww んで今回賢いスパムサイト自動生成コンテンツの作り方としてご紹介するのはブログじゃなくて、PHPSPOT 体の方ね。 …って体あるのご存知だったかしら? さくらはさっき始めて知ったんだけどねwww 余談は置いといて、今回ご紹介するスパムコンテンツは PHPSPOT の中にある PHP マニュアル よ。namazu の全文検索とか置いてあるけど、完全に php.net のオリジナルのマニュアル のコピペね。 コピペのくせに SERP 1位のページがいっぱいあるし、strip_tags のページとかは PageRank まで付いてるし、ホントうまいことやってるもん

    PHPSPOT に学ぶ – スパムサイト自動生成コンテンツの賢い作り方 | さくらたんどっとびーず
  • WordPress と GPL、主にお仕事向けの話

    かちびと.net にコメント書いたら続き書いてくれって言われたんでそのお返事ー。 ここまでの話の流れですが、WordPressを使ったWeb制作ビジネスをする方が頭に入れておく1つの事って記事のコメ欄で「WordPress が GPL な点も考慮しといた方が良いと思われ」とコメントしたら、記事書いてくれって返事が届いたところです。 GPL とかの話は長ったらしくなりそうだったのでお茶を濁したつもりだったんだけど、テラブーメランww まず結論から。 GPL は伝搬します。WordPress の改造やテーマ等の制作を請け負う場合、それら成果物は GPL ソフトウェアの派生物となり、派生物は GPL でライセンスしなければなりません。 GPL である以上、制作者はその成果物の第三者による再配布等を制限することはできません。 一般的な受託開発においてクライアントは納品された成果物を再販できないよう

    WordPress と GPL、主にお仕事向けの話
  • GreaseMonkey からターゲットページのイベントハンドラを呼び出す方法

    さくらです♡こんばんわ☆彡 今日はグリモンスクリプトから対象のウェブページに設定されたイベントハンドラを呼び出す方法を簡単にご紹介したいと思います。 例えば以下のような HTML をグリモンの処理対象とした場合、 <a href="http://www.example.com" id="target">www.example.com</a> グリモンからウェブページ上の onclick イベントハンドラを、以下のように呼び出すことはできません。 var obj = document.getElementById('target'); obj.onclick(); できない理由は XPCNativeWrapper – MDC に書かれているとおり、XPCNativeWrapper の on* プロパティを設定したり読み込もうとすると例外が送出されるためです。 グリモンスクリプトから on*

    GreaseMonkey からターゲットページのイベントハンドラを呼び出す方法
  • GreaseMonkey プログラミング、始めました。

    さくらです♡こんばんわ☆彡 個人的なアレでちょろっと GreaseMonkey のスクリプト書いてみたんだけどすごいハマっちゃったりしました。なんでこれから GreaseMonkey を始める方に、あまりハマらずに GreaseMonkey プログラミングを始めるためのネタを書いときたいと思います。 まあ GreaseMonkey 始めたのが昨日の今日なんで、内容に多少問題があるかもしれませんがご了承をww とりあえずインスコしてない人はこちらからどうぞ。 GreaseMonkey でできること GreaseMonkey を使ったことがある方なら大体のイメージは沸くと思いますが、プログラミングする側から見ると GreaseMonkey は特定の URL に対して保存しておいた JavaScript を自動的に実行するためのアドオンというような感じになります。 たぶんブックマークレットがイメ

    GreaseMonkey プログラミング、始めました。
  • 1