タグ

JavaScriptとjavascriptに関するnanakosoのブックマーク (611)

  • watchメソッドでオブジェクトが存在するようになるのを待ってから実行する � ZeroMemory

    はじめwatchを全部waitと勘違いして書いてました。id:os0xさんご指摘ありがとうございました。 watchはIEにはないのでとりあえずFirefoxのはなしです。いつも断りなくFirefox前提で書いてますけど。 以前にscriptタグを動的に生成してページがレンダリングされてからjavascriptを読み込ませることで重たい処理をしていたりするjavascriptによるストレスを軽減するような細工をしたことがありました。 そのときに大変だったのは、動的にロードすると書いた順番でスクリプトのロードが完了するとは限らないので、依存関係のあるスクリプト間で同期をとる必要があったことでした。そのときはsetIntervalでポーリングして必要とするオブジェクトがそろったら実行、みたいなことを書きましたがFirefoxだとwatchを使ってスマートに書くことができます。 AutoPage

  • 「Firefoxを使い続けるための“お勧め”設定」 , NoScriptを組み込んでいないFirefoxは使用停止に

    「Firefoxを使い続けるための“お勧め”設定」 , NoScriptを組み込んでいないFirefoxは使用停止に 最近,ある企業のシステム管理者から「Webページを不正に改ざんされる事件が最近特に増加し,その改ざんされたサイトをWebブラウザで閲覧した場合,ウイルスを送り込まれることが多いと聞く。Webブラウザを使用する時に,利用者側で行うべき対策をアドバイスしてほしい」との相談を受けました。 確かに,3月に入ってから国内の数多くのWebサイトが改ざんの被害にあっています(関連記事)。痛ましいのは,被害者であるはずのWebサイトが不正な改ざんにより,一般の閲覧者への加害者に仕立てられることです。Webサイトの管理者は,当然ながら今回の攻撃で主な手口として使用されたSQLインジェクション対策などの不正アクセスに耐えうる対策を施すべきです。しかし,このように多数のWebサイトが改ざんされる

    「Firefoxを使い続けるための“お勧め”設定」 , NoScriptを組み込んでいないFirefoxは使用停止に
  • Firefox拡張をAntでビルドする - FAX

    http://github.com/to/tombloo/tree/master/build.xml 現在、TomblooはJavaのビルドツールAntでビルドを行っています。このビルドスクリプトでは、以下の作業が行われています。 xpiへzipするxpiのハッシュ値を求めるupdate.rdfの生成 xmlpropertyタスクでinstall.rdfをプロパティファイルとして読み込み、echoタスクでupdate.rdfを書き出しているところがちょっとおもしろいchrome/contentをjarにしたり、FTPでアップロードしたりも簡単に追加できます。zipやftp、XSLT、FTPなど、プラットフォームの違いを吸収してくれる点がやはり優れてると思います(XMLで読み書きしづらいけど)。 配布前の署名だけは、McCoyを使って地道にやってます。 関連リンクant script to

  • prototype.js v1.5.0 の使い方

    それは何? prototype.js は Sam Stephenson によって書かれた JavaScript ライブラリです。 この熟考の上記述された標準に準拠したコードは、Web 2.0 において特徴となるリッチでインタラクティブなウェブページを制作する際の重荷を、あなたの肩から取り去ってくれるでしょう。 もしこのライブラリを使ったことがあるなら、充実したドキュメントがこのライブラリの売りではないことに気がついたはずです。 私は他の開発者と同様に、ソースコードを読み、試行錯誤しながら prototype.js を理解しました。 自分が学んでいる間にメモを取り、それを他の人たちと共有することは価値があるのでは、と考えたのです。 加えて、このライブラリによって提供されているオブジェクト、クラス、関数、拡張機能についての 非公式リファレンス も提供しています。 ここで提供する例とリファレンス

  • Re:一晩で覚えるjQueryの逆引き基礎サンプル7つ (でぃべろっぱーず・さいど)

    一晩で覚えるjQueryの逆引き基礎サンプル7つ*ホームページを作る人のネタ帳 jQueryに書くとほってんとり入りできるらしいので便乗。というかリンク先で紹介されているサンプルコードにちょっと意義異議あり。 一個のサンプルは非常に単純な構造になっておりますゆえ、jQueryをすでにやったことがある人にとって必要ないものだということをあらかじめご了承くださいませ。 ということであれば、「jQueryらしい」書き方をした方が良いかなと思います。 で、僕ならこう書くってことで。 全般的に使われている$(document).ready(fn)は、$(fn)でショートカットできます。 $(document).ready(function(){alert('hoge');}) は、 $(function(){alert('hoge');}) こう書けると。 まあ、これはどうでもいいや。短く書けるって

  • ニュータイプなjQueryその2-jQuery導入方法

    前回、「ニュータイプなJSライブラリjQueryを使ってみよう!」でAjaxライブラリについてとjQueryについての解説をしました。 今回は、「ニュータイプなjQueryその2」として、jQueryの導入方法を解説します。 jQueryの導入方法 jQueryを導入するのは、とても簡単です。 以下の3ステップでjQueryが利用できるようになります。 1. jQuery公式サイトにアクセス 2. jQuery最新版のMinified and Gzippedバージョンをダウンロード 3. HTMLからダウンロードしたjsファイルを読み込む jQuery公式サイトにアクセスし、トップページの「Download jQuery」のところから最新版jQueryをダウンロードします。 基的には、Uncompressedバージョンを最適化したMinifiedバージョンを利用します。 jQueryの種

  • XMLHttpRequestでRefererをセットする - FAX

    JavaScript 追記Firefox 3.0で確認したところエラーになった。 Firefox 2.0.0.13で確認しました。 var url = 'http://localhost:8080/index.html'; var referrer = 'http://www.hatena.ne.jp/'; var req = new XMLHttpRequest(); req.open('GET', url, true); req.onreadystatechange = function(){ // 1: 読み込み中 if(req.readyState == 1) req.setRequestHeader('Referer', referrer); // 4: 準備完了 if(req.readyState != 4) return; console.log(req.responseTe

  • __noSuchMethod__でひとつの名前で関数と変数にする - ロックスターになりたい

    意味わかんないけどこういうことができるってことです。役に立つことあるかな。 var me = { a: 10, __noSuchMethod__: function (name, args) { console.log(name, args); } }; me.a; // 10 me.a("hello!"); // a ["hello!"]

    __noSuchMethod__でひとつの名前で関数と変数にする - ロックスターになりたい
    nanakoso
    nanakoso 2008/04/12
    プロパティのメソッド呼び出しエラーを上書き
  • [AS3]Javaとの比較 - l4l

    ActionScript3.0はJavaのOOPを理解している人にはとても分かりいい言語だと思う。でもやっぱり微妙に違ってて、その微妙さがけっこうな落とし穴になるよな〜と思いつつそんな違いを8個ほど羅列してみた。 1.関数のオーバーロード ActionScript3.0ではできません。 2.コンストラクタは一つ オーバーロードが出来ないため。 3.継承時のデフォルトコンストラクタの扱い サブクラスコンストラクタでスーパークラスのコンストラクタ実行を記述しない場合、引数なしでスーパークラスのコンストラクタを実行しようする。2.に起因して、引数つきのコンストラクタを定義してたらエラーになるという罠。 4.抽象クラス ActionScript3.0には抽象クラスを定義する方法なし。abstractはキーワードですらない。 5.スコープ ActionScript3.0にはローカルなスコープ(たとえ

  • ブラウザの四隅を占有するGreasemonkeyをなんとかしたい (Kanasansoft Web Lab.)

    AutoPagerizeのように、ブラウザ上に何かを表示するタイプのuserscriptがある。とりあえずここではこの種のuserscriptをUserScriptWidgetと呼ぶ事にする。AutoPagerizeのように、ブラウザの表示領域の角に何かを表示するようなUserScriptWidgetが増えてくると四隅の取り合いになる。右上はもうAutoPagerizeが勝ち取った感があるが、他の角はどうなるかわからない。同じ位置に表示されるUserScriptWidgetも出てくるだろうし、何より最大で4つまでしか使うことができない。少しずらして表示させたとしてもいつかは破綻する。今後のためにUserScriptWidgetの表示を管理するuserscriptを作成した。 installすると画面の左上に歯車のアイコンが表示される。このアイコンをクリックするとラジオボタンが表示されるので

    nanakoso
    nanakoso 2008/04/11
    提案。ユーザースクリプトだってGUIインターフェースがほしい。問題
  • PDF 千夜一夜: 2008年04月06日 アーカイブ

    Webは修理が必要だ — Javascriptセキュリティ問題 前回に続き、Ajax World East2008におけるDouglas Crockford氏の「Webを修理できるか」のスライドの続きをご紹介します。 ※前回はこちらです。 2008年04月03日 Webは修理が必要だ — Turducken問題 18.Webを修理するための三又戦略 — Javascriptの安全な部分集合(要約19~22項)、ブラウザの小さな改善(要約23項)、ブラウザの強力な改善(要約24~25項)(スライド33) 19.Javascriptを小さくして、セキュアでない部分を削除する(スライド34~37) JSLint  http://JSLint.com/は、HTMLJavascriptの安全な部分集合を定義している。 ADSafeでは、グローバル変数・関数は定義されない。 ADSAFE オ

  • C#やVBのプログラムをJavaScriptにできる「jsc」:phpspot開発日誌

    jsc (c# to javascript) What if I could code in one great language and have it self-translate to other similar languages? C#やVBのプログラムをJavaScriptにできる「jsc」。 JavaScriptにすることでC#やVBのプログラムをブラウザで実行できるようになります。 JSCのページで、WarCraft2や、フリーセル、スペースインベーダーなど、多数デモが紹介されています。 どの程度変換がうまくいって使えるものかは分かりませんが、非常に興味をそそられますね。 関連エントリ PHPコードをEXEに変換してスタンドアロンアプリにする方法

  • CMS researcher - Greasemonkeyでprototype.jsやscript.aculo.usを使う方法

    Greasemonkeyでprototype.jsやscript.aculo.usが使えたら便利だろうな、と考えたことのある開発者は少なくないのではないでしょうか。ちょっとそんなアイデアを試してみたことのある方ならわかると思うのですが、Greasemonkeyでそういった外部JavaScriptライブラリは簡単には使えません。案外ハードルが高いです。 Googleで調べていたら、面白い解決方法が見つかったので紹介します。 Loading External JavaScript Libraries in Greasemonkey このブログで解説されているアプローチを用いれば、Greasemonkeyで外部JavaScriptライブラリが使えるようになります。 ポイントは、 外部ライブラリがロードされるまで待ち続ける制御構造 unsafeWindowを経由して外部ライブラリにアクセス といっ

    CMS researcher - Greasemonkeyでprototype.jsやscript.aculo.usを使う方法
  • jsc

    JSC allows developers to think in C# while targeting JavaScript, Java, Actionscript and PHP. If you want to create a Flash or WebGL powered game in C# JSC is what you need. If you want to create a single page web application JSC is what you need! JSC also integrates with NuGet which allows to create packages. Contact us at: info@jsc-solutions.net

  • IE5.5, IE6, IE7, IE8の確認が同時にできる -IETester | コリス

    IETesterは、IE5.5, IE6, IE7, IE8beta1の確認が同時にできるアプリケーションです。 IETester [ad#ad-2] IETesterを利用するには、上記IETesterのページの「Download IETester」から「install-ietester-v0.2.exe」ダウンロードし、IETesterをインストールします。 IEのバージョンの切り替えは、「New Tab」から切り替えることができます。 簡単に使用しただけですが、IE5.5, IE6, IE7, IE8beta1のレンダリングの違いを確認できました。 バージョン0.2の動作条件は、Windows XP or Vista + IE7以上となっています。XP + IE6の場合、IE7, IE8のモードが動作しません。 Windows XP + IE7, IE8beta1の環境で使用したとこ

  • Google Visualization API 詳細、および Gadgets-in-Docs の作り方 - WebOS Goodies

    前回の Query Language の記事はたくさんの方に読んでいただけたようで、たいへん嬉しく思っております。とりあえず最もインパクトがあり、しかも他所ではあまり触れられていない機能ということで Query Language にネタを絞って書いたのですが、そのために Google Visualization API そのものや Gadgets-in-Docs について、きちんとご紹介できませんでした。 そこで、日はそのあたりの補足も兼ねて、 Google Visualization API 全般についてご紹介しようと思います。 Google Docs 活用の参考にしていただければ幸いです。 Google Visualization API 概要 さて、まずは Google Visualization API 自体について、軽くご紹介しておきましょう。この API をひと言で言えば、「

  • HTML要素の位置取得 - elm200 の日記(旧はてなダイアリー)

    趣旨 ウェブページとして描画された HTML 要素の画面上の位置を取得する。一見簡単そうに見えるこの作業が、現在実装されているブラウザ上ではとてつもなく難しい。そのことを以下で説明していく。 情報ソース この問題に関して調べたところ、最もよく出来ているエントリは、susie-t 氏による offsetTop/offsetLeft/offsetParentの闇 である。とてつもない力作で、実に多くのケースにわたって、包括的に探究が行われている。まるで犯人を追跡する刑事のような執拗さである。氏の自己紹介では「ナマケモノのプログラマ」とか謙遜されているが、これはとてもナマケモノにできる仕事ではない。 基中の基として W3C CSS 2.1 の次の章を抑えておきたい。 8 Box model 9 Visual formatting model 10 Visual formatting mode

    HTML要素の位置取得 - elm200 の日記(旧はてなダイアリー)
  • ブラウザの表示領域のサイズを取得する方法。 - Enjoy*Study

    ブラウザの表示領域を取得するに当たって、「ブラウザの種類」×「表示モード(標準/互換)」によって参照するプロパティが変わってきます。 IE、FireFox、Opera、Safariにて、表示モード毎に参照すべきプロパティをまとめてみました。(Safariについては2007/05/20に追記) 調査したのは、下記のプロパティです。 window.innerWidth window.innerHeight document.body.scrollWidth document.body.scrollHeight document.body.offsetWidth document.body.offsetHeight document.body.clientWidth document.body.clientHeight document.documentElement.scrollWidth d

    ブラウザの表示領域のサイズを取得する方法。 - Enjoy*Study
  • JavaScriptによるマルチスレッドの実現‐Concurrent.Threadの裏側

    function f ( ) { do_something(); do_another(); do_one_more(); } このプログラムでは順番に3つの関数を呼び出していますが、各関数呼び出しの間でいったんスレッドの実行権を他のJavaScriptコードに渡したいとします。これは次のように、各関数呼び出しをそれぞれ別の関数に分けて、間にsetTimeoutを挿むようにプログラムを書き換えることで実現できます。 function f ( ) { do_something(); setTimeout(f1, 1);  // 1ミリ秒後にf1を呼び出す } function f1 ( ) { do_another(); setTimeout(f2, 1); } function f2 ( ) { do_one_more(); } こうして書き換えた関数fを、 f(); f(); のようにし

    JavaScriptによるマルチスレッドの実現‐Concurrent.Threadの裏側
  • いまさら人に聞けない Firebug tips - bits and bytes

    2年前の夏に書かれたFirebugの便利な組み込み関数 - 技術メモ帳を読んで、いまさらdebuggerと書くとそこからデバッガでステップ実行できるのを知ってショックでした.... lurkerさんのブログで紹介されている$0, $1 で直前にinspectしたものを参照できることも、なぜか公式のドキュメントっぽいFirebug Documentationには載っていなくて、FireBug Documentation - JoeHewitt.comには載っています。 で、もうひとつ、ソースコードにしか書かれてなさそうなやつを発見しました。$$1と$$2です。 自分はFirebugを使っていて、ときどきconsole.logで出したオブジェクトのプロパティを引数にして関数を呼んだりしたい、ということがあったけどできなくて困ってたんですが$$1でそういうことができるようになりました。 たとえば