タグ

JavaScriptとTipsに関するwackyのブックマーク (320)

  • AJAX file upload - webtoolkit.info

    Ever wanted to upload files using AJAX like in GMAIL, without reloading the page? Now you can. Cross browser method to upload files using AJAX in only 1Kb of code. Ever wanted to upload files using AJAX like in GMAIL, without reloading the page? Now you can. Cross browser method to upload files using AJAX in only 1Kb of code. You need to create a form with file fields you wish to upload and define

    wacky
    wacky 2006/12/11
    Gmailなどで使われているAjaxなファイル・アップロードの方法。クロスブラウザ。
  • クロスブラウザでのJavaScriptキーボードイベントの扱い方:phpspot開発日誌

    JavaScriptでのキーボードイベントの処理はブラウザによって違っていて、クロスブラウザで動作させるためには、それぞれのブラウザに合ったコードを実行し分ける必要があります。 JavaScriptでキーボードイベントを取得し、どのキーコードが押されたかを判別するサンプルを以下に示します。CtrlキーやShiftキーが押されたかどうかなどのチェック方法も併せて示しています。 このサンプルを活用することで、Webアプリケーションにショートカット機能をつけ、より使い勝手のよいWebアプリケーションを作成する手助けになるはずです。 以下、サンプル。 <html> <title>クロスブラウザでキーボードイベントを処理する方法</title> <!-- js コード --> <script type="text/javascript"> document.onkeydown = function(

    wacky
    wacky 2006/12/11
    JavaScriptによるクロスブラウザなキーコード処理方法。
  • innerHTMLでscriptする - Thousand Years

    innerHTMLにscriptを代入しても評価されず無視されるのはIEの仕様なのでいいとしてその回避策。最近、昔あの方法で出来たんだけどいつの間にかできなくなってるコードが出てきている気がします(気のせいにしておこう)。 以下は一般的な動かないコード。 <div id="foo"></div> <script type="text/javascript"> document.getElementById('foo').innerHTML = "<script type='text/javascript'>alert('動かない')<"+"/script>"; </script> 以下は動くコード。 <div id="foo"></div> <script type="text/javascript"> document.getElementById('foo').innerHTML =

    innerHTMLでscriptする - Thousand Years
    wacky
    wacky 2006/12/11
    innerHTMLによるscript挿入をIEでも動作させるための方法。defer属性を指定する。(→ 問題点: http://d.hatena.ne.jp/shogo4405/20061210/1165763994
  • 空繰再繰 - Plagger::Plugin::Filter::SortEntries #2

    岡村 直樹(にゃるら)『輝かしい青春』なんて失なかった人。 2023年10月現在、アルバイトが退職となったので次に備えて待機中。 ※なおゲームのシナリオ・企画を担当された『にゃるら』さんとは別の人間です 略歴1988 年代の早生まれ。『輝かしい青春』なんて失なかった人。 2003 年代後半の高校生時代、自滅的にメンタルを病み、そこから 2023年 10月現在も治療中。 とはいえ 2019年 9月頃に N 高等学校を卒業し、 その後 2022年 8月から 2023年 9月末まで Web アプリケーションエンジニアとしてアルバイト就職をするなどした。 2023年 10月現在、次回の備えて精神科でリハビリに通う日々を送っている。 プログラミングスキルは 2005 年頃、 blosxom のために Perl を扱う事を通じて修得し、 そこから 2023年 10月に至るまで継続して腕を磨いている。

    空繰再繰 - Plagger::Plugin::Filter::SortEntries #2
    wacky
    wacky 2006/12/06
    document.writeをDOM仕様に変更する試み。application/xhtml+xml なページでもdocument.writeを使えるように。
  • Mootools Primer 損 Clientside

    Supreme Court Justice Ruth Bader Ginsburg dead at 87 Ginsburg, a fighter for gender equality, served 27 years on the United States' highest court. byLeslie Katz

    Mootools Primer 損 Clientside
    wacky
    wacky 2006/12/04
    mootools(moo.js)のチュートリアル。(英語)
  • とてもシンプルに自分自身が属する script 要素を取得 - IT戦記

    グローバル領域に以下の一行を書く <script> var currentScript = (function (e) { if(e.nodeName.toLowerCase() == 'script') return e; return arguments.callee(e.lastChild) })(document); alert(currentScript); </script>こうすることで、currentScript はこの script 要素を指す。 いちおう説明 DOM は構築されるときに、上から順番に構築される。そして、script タグがあると、 script 要素を構築したあとに、スクリプトを実行する。 つまり、スクリプトが実行されたとき script 要素は今まさに作られたばかりであり、それよりも後ろの要素が存在しない。さらにこの script 要素を含むすべての要

    とてもシンプルに自分自身が属する script 要素を取得 - IT戦記
    wacky
    wacky 2006/12/02
    複数のscript要素が存在するページで、各スクリプトの中から自分自身の属するscript要素を特定する方法。
  • 社外勉強会の資料 (JavaScript 依存解決手法) - IT戦記

    モバイルファクトリー様と弊社との勉強会がありました。 残念ながら身内に不幸があって、出席できなかったのですが。 id:ZIGOROuさんに代打で発表してもらいました。ありがとうございます。 資料を公開します http://usrb.in/svn/amachang/presentation/20061116/Resolve_dependency_of_JavaScript.ppt 内容は JavaScript の依存解決方法をいろいろ試したときのバッドノウハウ集です。

    社外勉強会の資料 (JavaScript 依存解決手法) - IT戦記
    wacky
    wacky 2006/11/24
    複数jsファイル間の依存を解消するための検討資料。動的ロード/1ファイル化の使い分け。結局どちらも問題あり。
  • Dean Edwards: Sandboxing JavaScript Using <iframe>

    I’ve been experimenting with running code in an iframe and the results are very encouraging. Sandbox.eval() I’m currently developing a templating system in JavaScript and ran into a problem with scope. The problem is that my template scripts have access to all of the global (window) object’s properties and methods. I don’t want this. I want my template scripts to run in a separate, closed environm

    wacky
    wacky 2006/11/23
    global(window)オブジェクトを汚さずにevalする。動的に生成したiframeを利用。
  • prototype.jsを10KBにする方法

    2006-11-20T14:20:42+09:00 追記 「何者か」に攻撃を受けて、このページの内容が差し変わっていました。あわててバックアップファイルから復旧しました(「何者か」 = 酒……)。 prototype.jsを10KBにする方法の続き(.htaccessをスマートに使う) : 亜細亜ノ蛾 に続きを書きました。合わせてどうぞ。 JavaScript ファイルを圧縮する 正真正銘、Prototype(“prototype-1.4.0.js”)を10キロバイト(10,453 bytes)に圧縮して、しかも(当たり前ながら)動作するようにする方法です。 ──と聞いて真っ先に思い浮かぶのが「各種JavaScriptファイル圧縮サービス」、という人も多いでしょう。 しかし、自分が試してみたところ、例えば/packer/で圧縮したJavaScriptファイルは上手く動作しませんでした(他は

    prototype.jsを10KBにする方法
    wacky
    wacky 2006/11/19
    最近のブラウザは、gzip圧縮された.jsファイルをそのままscript要素で読めるらしい。うわ、知らなかった・・・。ただしSafariでは不可。
  • Central Authentication Service - JA-SIG Wiki

    {"serverDuration": 13, "requestCorrelationId": "3adb2a961d34412cb332a64528befd4f"}

    wacky
    wacky 2006/11/17
    主要なJavaScriptフレームワークの比較表。(prototype.js、Dojo、Mochikit、Yahoo UI Library、Google Web Toolkit 、jQuery)
  • 文字列でもオブジェクトでもなんでも一発で数値に変換! - IT戦記

    JavaScript では単体の + 演算で数値化が行われる これを利用して数値っぽいか判定する関数を作ってみた。 このオブジェクト数値っぽい? function isNumber(a) { return +a == a } こんな感じで使う isNumber(true); // true (true は 1 として扱うことができるから) isNumber(false); // true (false は 2 として扱うことができるから) isNumber("1e1"); // true (数値に変換可能な文字列) isNumber("hoge"); // false (数値に変換不可能な文字列) isNumber({toString: function(){return "1"}}); // true (数値に変換可能なオブジェクト) isNumber({}); // false (数値

    文字列でもオブジェクトでもなんでも一発で数値に変換! - IT戦記
    wacky
    wacky 2006/11/12
    JavaScriptの超お手軽な数値判定関数と数値変換関数。+ 演算で数値化が行われることを利用。コードスニペット。
  • script要素のtextプロパティ - Thousand Years

    http://d.hatena.ne.jp/brazil/20061105/1162722198 http://rails.office.drecom.jp/takiuchi/archive/100 の中で記述されているscript要素にinnerHTML突っ込んでもうまく作動しない件。僕のIE6でもできないのでMSの月例更新で仕様変更になったのかと勝手に想像しています。ただその代替手段として...以下のようにtextプロパティを利用できます。既存のscript要素にtext設定しただけでalertされます。…これってXMLHttpRequestした後にeval必要ないですね。 <script id="foo"></script> <script> foo.text = "alert(1)"; foo.text = "alert(2)"; </script>innerHTMLはMSIEの独

    script要素のtextプロパティ - Thousand Years
    wacky
    wacky 2006/11/08
    DOMによって埋め込みスクリプトを動的に生成、実行する方法。script要素のtextプロパティを利用。
  • Dateオブジェクトの返す文字 - Thousand Years

    今、PHPのstrftime関数*1をJavaScriptに移植しています。その為にDateオブジェクトで返される数字の範囲確認したので以下はそのまとめです。2006/10/22に調査実施しました。getYearは実装違うのgetFullYear利用したほうが無難。 IE6 Firefox Opera 備考 getFullYear 2006 2006 2006 getYear 2006 106 106 getMonth 9 9 9 1月が0。0〜11 getDate 22 22 22 1〜31 getDay 0 0 0 日曜日が0。0〜6 getHours 16 16 16 0〜23 getMinutes 42 42 42 0〜59 getSeconds 14 14 14 0〜59 getMilliseconds 203 107 22 0〜999 toString Sun Oct 22 2

    Dateオブジェクトの返す文字 - Thousand Years
    wacky
    wacky 2006/11/07
    JavaScriptのDateオブジェクトの各メソッドが返す値についてブラウザ別(IE6 / Firefox / Opera)に比較。
  • ページ遷移前に確認をする、onbeforeunload - 実用

    JavaScriptwindowのonbeforeunloadハンドラで、Event#returnValueに値を入れると、ページ遷移直前にユーザーに確認ダイアログを表示することができる(んだって)。 以下コードの正常動作を、Firefox 2.0とIE 7で確認した。Operaでは実行されなかった。 window.onbeforeunload = function(event){ event = event || window.event; event.returnValue = '?'; } 以下は、IEとFirefoxの確認ダイアログのキャプチャ。 MochiKitでは、Event#confirmUnloadで確認ダイアログを出せる。 connect(window, 'onbeforeunload', function(event){ event.confirmUnload('?'

    wacky
    wacky 2006/11/05
    ページ遷移直前にユーザーに確認ダイアログを表示することができるonbeforeunloadイベントハンドラ。
  • JavaScript で予約語を変数名にする方法 - IT戦記

    普通にグローバル変数ならできるのだが。 window['for'] = 'a'; これだと、ローカル変数ではできないので、こうする。 昨日のエントリに書いたように、ユニコードエスケープを使う。 function func() { var \u0074\u0068\u0069\u0073 /* this */ = 'a'; alert(this); // 予約語 alert(\u0074\u0068\u0069\u0073); // 変数 } 使い道は・・・ あまり思いつかない。 でも、コード自動生成するときに、変数名が予約語とかぶらないようにしたりとかできそう

    JavaScript で予約語を変数名にする方法 - IT戦記
    wacky
    wacky 2006/10/31
    変数名が予約語と被る場合は、ユニコードエスケープすればOK。
  • Webページ上の状況依存ヘルプの自動作成:CodeZine

    wacky
    wacky 2006/10/30
    ASP.NETの分離コードを利用しスクリプトやマークアップを自動的に追加するサンプル。
  • Lucky bag::blog: CSS3 の target 疑似クラスで脚注を動的に表示する

    文書の URI の後に #foo などの識別子(id)をつけたアンカーから、その文書内の当該箇所へジャンプできるのは周知の通り。ただ、スクロールもせずに移動するんで、閲覧者が一瞬戸惑ったりるすわけで、CSS3 では、そのターゲットとなる要素をハイライト表示させたりすることが可能な :target 疑似クラスってのが用意されている。現在、:target 疑似クラスに対応しているブラウザは、Firefox などの Gecko 系と Safari、Konqueror とか。IE や Opera は未対応。 Selectors 6.6.2. The target pseudo-class :target そんな :target 疑似クラスを利用して、文書下部に用意した脚注を動的に表示させてみるの試み。ちなみに、サンプルは未対応な IE でも再現できるように、Suckerfish :target |

    wacky
    wacky 2006/10/29
    アンカーのリンク先となる要素のスタイルを指定するための:target疑似クラスについて。IE向けのJavaScriptによる回避サンプルもあり。
  • FC2ブログ 現在アクセスが集中しています。

    現在アクセスが集中しており表示しにくい状態となっております。 申し訳ございませんが、しばらく時間を置いてからアクセスするようお願いいたします。 ・FC2フォーラム ・FC2インフォメーションブログ ・最新障害情報・メンテナンス情報ブログ

    wacky
    wacky 2006/10/29
    ページ中の選択テキストを取得するクロスブラウザなJavaScriptコード。
  • javascript - プロトタイプ的継承 : 404 Blog Not Found

    2006年10月18日09:20 カテゴリLightweight Languages javascript - プロトタイプ的継承 がーん。この感動はY combinatorを見たときに匹敵する。 Prototypal Inheritance function object(o) { function F() {} F.prototype = o; return new F(); } なぜこれがそれほど感動的かというと.... これを使えば、ArrayやObjectといったBuilt-Inからも難なく継承できるから。 継承のやり方としてはPrivate Members in JavaScriptが圧倒的に有名で、日でもbrazilさんによる邦訳、Collection & Copy - JavaScriptにおける古典的継承もよく知られていると思うけど、この三行を目の前にしては霞む。でもp

    javascript - プロトタイプ的継承 : 404 Blog Not Found
    wacky
    wacky 2006/10/18
    prototypeにオブジェクトを代入するプロトタイプ継承。
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2006/10/js_generic.php

    wacky
    wacky 2006/10/16
    JavaScriptの再帰呼び出し関数でスタック間のデータ共有を実現する方法の別解。Function.prototype.callを利用。