タグ

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

  • dojoのIFrameProxyでクロスドメインでのXML取得 - snippets from shinichitomita’s journal

    これおもしろいな。 http://dojotoolkit.org/~jburke/XHRIFrameProxy.html XMLHttpRequestがドメインの壁を越えられないのは悲しい事実。すべてのブラウザで改善されるのを待つのはひどく気の長い話だし、そもそもそうなってるのにはそれなりの理由(セキュリティ関連)があったわけで、うまく要求が通るとも思えない。 そこで、既存の枠組みでクロスドメインの壁を越えられる動的スクリプトロードでのJSONコールみたいなテクニックが出てきてるわけだけど、データソースとなるサーバ側でデータをJSON形式で用意しなきゃいけなかったり、結局JavaScriptロードに頼るので信頼できないサイトからは気軽にデータを取って来れない(⇒任意のJavaScriptコードが実行されてしまう危険性がある)などの問題があった。 IframeProxyはこれを回避する。IF

    dojoのIFrameProxyでクロスドメインでのXML取得 - snippets from shinichitomita’s journal
    wacky
    wacky 2006/08/06
    XMLHttpRequestでのクロスドメインAjaxを疑似的に実現する手法(→ http://dojotoolkit.org/~jburke/XHRIFrameProxy.html )を簡単に図解。
  • Efficient data transfer through zero copy

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Efficient data transfer through zero copy
    wacky
    wacky 2006/08/06
    Ajaxアプリケーションに独自の「戻る」「進む」「更新」ボタンを付ける方法。JavaScriptで履歴スタックを構築する。Cookieへの保存機能付き。
  • Cross Domain XMLHttpRequests using an IFrame Proxy

    wacky
    wacky 2006/08/03
    XMLHttpRequestでのクロスドメインAjaxを疑似的に実現する方法。XHR通信はiframe内で行い、親ページからの呼び出し・結果受け取りにはURLハッシュ(#)を利用。(英語)
  • Collection & Copy - ヒアドキュメント、IE専用、コメント

    JavaScript function hdoc(){ return arguments.callee.caller.toString().match(/hdoc\(\/\*(([\n\r]|.)+)\*\/\)/m)[1]; } function hdocTest(){ var message = hdoc(/* Peter Piper picked a peck of pickled peppers; A peck of pickled peppers Peter Piper picked. If Peter Piper picked a peck of pickled peppers, Where's the peck of pickled peppers Peter Piper picked? */); alert(message); } 関連リンクCollection & C

    wacky
    wacky 2006/08/02
    HTMLコメントを利用して、JavaScript上でヒアドキュメントを実現するテクニック。IE専用。
  • JavaScript で日本語の変換途中の文字列を取得する

    JavaScript で日語の変換途中の文字列を取得する input form に onKeyDown とか指定してイベントを受け取るようにすると、現在入力している文字列が取得出来るわけですが、残念ながら日語の変換確定前の文字列は IE でしか取得出来ません。 しかし setTimeout の処理とかを使えば IE 以外のブラウザでも取得出来るのですが、このやり方について解説している人を見掛けた事が無いので紹介しておきます。ええ、まぁ、実際にそんな事がしたい状況ってのはあんまり無いんですけどね。JavaScript で自動フリガナ入力 ってのを見たら、やっぱり onKeyDown のせいで IE 以外のブラウザには非対応っぽいので Firefox 対応版になったら嬉しいなと思ったもので。 それで肝心のやり方ですが、実際にサンプルを見た方が早いと思うので、以下に用意しました。何も難し

    wacky
    wacky 2006/07/23
    通常はIEでしか取得できない変換中の文字列を、他のブラウザでも取得できるようにするサンプル。setTimeoutを利用。
  • 繰り返し文字列を生成する、pad - FAX

    繰り返し文字列を生成する、pad JavaScript 特定の文字が繰り返される文字列は以下のように書ける。 // '_'を4回繰り返す new Array(5).join('_') // ____ 指定桁数で埋めるpadは以下。 function pad(str, len, ch){return new Array(len-(''+str).length+1).join(ch) + str} alert(pad(56, 4, '0')); // 0056 追記 2006/8/6 string_repeat - Javascript - Snipplr 普通に繰り返しで書いたほうが速いとのこと。 Permalink | コメント(0) | トラックバック(1) | 22:52

    wacky
    wacky 2006/07/22
    Array と join() を使って任意の文字列を繰り返すテクニック。その応用で、指定桁数の数値を生成。
  • Timeout your Mouseovers

    This is a fun effect I built for Chowhound that does one better for mouseovers. The problem with most menu systems is that they’re really touchy whether you’re too fast or slow with the mouse. The trick is to use a timeout with the effect, so it will wait a fraction of a second to pop-up, and a fraction of a second to go away…just enough to make the effect feel solid and not finicky. I won’t take

    wacky
    wacky 2006/07/10
    イベント発生時に一拍置いてからエフェクト処理を開始するサンプル。いちいちマウスに反応するウザいページを作らないために。要prototype.js。
  • GIGAZINE - いろいろな効果を追加できるJavaScriptライブラリ「jQuery」

    ファイルサイズわずか10キロバイト、CSSの1から3、XPathをサポートし、Internet Explorer、Firefox、Safari、Operaで動作します。「JavaScriptのコードを書くのが楽しくなる」というのがモットーらしい。 ダウンロードや実際の例、使い方などの各種取り扱い説明は以下の通り。 jQuery: New Wave Javascript http://jquery.com/ 上記ページの「Run」をクリックするとその機能の一端を垣間見ることができます。面白い効果です。 その他のデモとしてはこんな感じでいろいろなところに使えます。特に一番下の「Example G」のボタンをクリックしてから文の上にマウスを乗せると色が変わり、フェードしながら元に戻るというのはシンプルながら面白い。 JQuery http://codylindley.com/blogstuff

    GIGAZINE - いろいろな効果を追加できるJavaScriptライブラリ「jQuery」
    wacky
    wacky 2006/07/06
    jQuery関連リンク集。プラグインなど。
  • 最速インターフェース研究会 :: Shibuya.js #2 でしゃべってきました

    前回に続き、shibuya.jsでしゃべってきました。 プレゼン資料はこちら。諸事情により少しフォントが小さめです。 http://ma.la/files/shibuya.js/techtalk2.html JavaScriptが無効でも閲覧できるように画像に変換しておきました。 いくつか補足 - APIは最初から全部できてるわけじゃなく、必要に応じて拡張していく感じ - 最初はダミーのJSONを読み込ませたりする - プログラマはクライアント側一人、サーバー側一人、の計二人 - UIを作るのは分業できない気がする。 - 「とりあえず動く」状態ものは10日ぐらいで出来た。3月の頭ぐらい。 - プロトタイプを発展させてって、そのまま番用になった。 - APIは今のところPlaggerで使ってる例もあるけど(Plagger以外で使ってる例ないけど)、人間向けのサーバーにアクセスが来るのは良く

    wacky
    wacky 2006/07/04
    開発者mala氏が(ちょっとだけ)明かすlivedoor Readerの内側。JavaScriptによるイベント付加の高速化デモもあり。
  • ブラウザに合わせたスクリプトを実行する:CodeZine

    はじめに ブラウザの種類やバージョン、各々のブラウザ独自の実装の違いを考慮し、同じように動作するスクリプトを、クロスブラウザスクリプトと言います。連載では、クロスブラウザスクリプトを実現する方法について順を追って解説します。 クロスブラウザスクリプトを作る上で、それぞれのブラウザがどのJavaScriptをサポートしているかを知ることは大切です。さらに、それを知った上で、そのスクリプトが実行されるブラウザの種類やバージョンを特定することが、すべての基となり、最も重要な事柄の一つになります。 前回、『ユーザエージェントからブラウザの種類やバージョンを判断する』では、JavaScriptに対応した主なブラウザがサポートしているJavaScriptを明確にしました。そしてさらに、ブラウザの種類やバージョンに関しては、ブラウザ自身の素性を表すユーザエージェントを元に、どのブラウザがどのようなユ

    wacky
    wacky 2006/07/03
    ブラウザ毎に処理を振り分けてクロスブラウザ・スクリプトを実現する方法。
  • Speeding up Prototype’s Selector

    While working on the future AJAX interface of jamendo, I ran into some performance problems that were due to the extensive use of the new Prototype 1.5 function, $$. (Announcement of $$ on Ajaxian) Prototype’s current code is quite elegant (as always!) but very slow, so I wrote an add-on that makes this function up to 20 times faster in most usual cases (tested on IE6, Firefox 1.5 and Opera). Don’

    Speeding up Prototype’s Selector
    wacky
    wacky 2006/07/02
    prototype.js 1.5の$$関数を最大20倍に高速化するパッチ。
  • 要素をキャッシュして $ 関数をちょっと高速化 - IT戦記

    prototype.js の $ 関数で あっちこっちで、$、$、ってやるとその都度ノード探索発生してうざいので ↓prototype.js 1.5 の $ 関数 function $() { var results = [], element; for (var i = 0; i < arguments.length; i++) { element = arguments[i]; if (typeof element == 'string') element = document.getElementById(element); results.push(Element.extend(element)); } return results.length < 2 ? results[0] : results; } キャッシュしてみますた。 でも、IDがダイナミックに変更される場合(あんまな

    要素をキャッシュして $ 関数をちょっと高速化 - IT戦記
    wacky
    wacky 2006/07/01
    prototype.js 1.5の$関数を高速化。要素キャッシュ + 小技。
  • 和人 - [javascript] TextBoxWatermark

    Atlas.NET覗いていたら、テキストボックスに入力してもらいたい内容を表示しておき、フォーカスがあたると消すというデモンストレーションが載っていた。 http://atlas.asp.net/atlastoolkit/TextBoxWatermark/TextBoxWatermark.aspx 英名で「Watermark」、「すかし」なんていう意味もあるようだ。 これくらいなら実装できるかなと思ってJavaScriptを書いてみた。 ライブラリとしてprototype.jsを使ってます。 TextBoxWatermark = Class.create(); TextBoxWatermark.prototype = { initialize: function(element) { this.element = $(element); this.options = Object.exte

    和人 - [javascript] TextBoxWatermark
    wacky
    wacky 2006/06/17
    フォーカスが当たると消える文字(ウォーターマーク)をテキストボックスに表示するJavaScriptコード。入力内容を指示する時に使える。要prototype.js。
  • d.aql - scriptタグの中にJavaScriptを書く正しい方法

    XHTMLでCDATA区間を使う。以上。 経緯 HTML4のscriptタグでJavaScriptをちょろっと書く時、中にHTMLタグがあるとダメという話が発端である。例えば、以下のようなのがダメだ。 <script type="text/javascript"> document.write('<p><a href="http://www.hikoboshi.org">hikoboshi.org</a></p>'); </script>ちなみに、ブラウザで動かせば多分動く。(試してないけど。)じゃあ何がダメかというと、HTMLの仕様的に。ちなみにこういう書き方をすると、多分HTML4でもXHTML1でもダメだと思われ。 そんな話をきっかけに、いろいろ調べた。 何故ダメか まずはHTML4のDTDを調べる。(別にstrictを選ばなくても良いんだけどとりあえず。) http://www.w

    d.aql - scriptタグの中にJavaScriptを書く正しい方法
    wacky
    wacky 2006/06/15
    HTML4では<script>タグ内がCDATA、XHMLでは#PCDATAとして扱われる。
  • Collection & Copy - 月の日数を求める

    JavaScriptきしださん(id:nowokay)コメント、ストライクです。これだ、これだよー。0で前月の最終日だよ。 new Date(year, month+1, 0).getDate(); (found at Determining the Number of Days in a Month with Javascript) function daysInMonth(month, year){ return 32 - new Date(year, month, 32).getDate(); } これおしゃれやわぁ。日付をロールオーバーさせて基礎値から引くかんじ。日数の最大値より多ければ、32でも40でもいいんだな。 私が考えたのは、月初の前日の日を調べるやつで、Dateオブジェクトが無駄でした。 function getLastDateOfMonth(year, month

    wacky
    wacky 2006/06/08
    「当月の日数を求める」、「前月の日数を求める」それぞれのオシャレなJavaScriptコード。
  • 3つの数の最大値を返す - FAX

    JavaScriptnanto_viさんに以下でいけるとコメント頂きました。 Math.max(red, green, blue) うっ、これです。もう胸が痛い...。イディオムとかじゃなくて、単なる関数の使い方のレベルです。もーMochiKitのやつめー(やつあたり)。 15.8 Math オブジェクト (The Math Object) (found at Mochikit.Color) Math.max(Math.max(red, green), blue);

    wacky
    wacky 2006/06/06
    Math.max() をネストすれば3個以上の数値から最大値を得ることができる。
  • Jack Born - Software designer and entrepreneur

    Jack Born I'm an entrepreneur and I build software that helps creators make more revenue in less time using automation and AI. I'm endlessly fascinated by marketing and messaging that moves people to take action. And I love knowing that I've helped thousands of other entrepreneurs have more time and flexibility to do the things they love with the people they love. "He's technical and he's also one

    wacky
    wacky 2006/06/02
    小さくて便利なJavaScriptライブラリ「jQuery」の チュートリアル。(英語)
  • Script.aculo.us の Effect をちょっと簡単に書く方法 - IT戦記

    普通はこういう風に書く new Effect.Opacity($('id'), {from: 1, to: 0});こういう、インスタンスを取得しない new は JavaScript では一般的に使われる。 関連するプロパティを this にまとめ、イベントを this に bind して分かりやすくするためである。 でも、慣れてないと逆にわかりにくい。 それで、最近のScriptaculousではこう書ける。 $('id').visualEffect('opacity', {from: 1, to: 0});こっちのが、ちょっとイメージ掴みやすいですよね。 ついでに、こんな書き方も出来るかも!(未検証) <a href="javascript:void(0);" onmouseover="Element.extend(this);" onclick="visualEffect('opa

    Script.aculo.us の Effect をちょっと簡単に書く方法 - IT戦記
    wacky
    wacky 2006/05/27
    script.aculo.usをより直感的に分かりやすい方法で使う。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    wacky
    wacky 2006/05/20
    JavaScriptでbooleanへのキャストを明示的に行う方法。「!!」を前に付ける。
  • TechTarget - Global Network of Information Technology Websites and Contributors

    Looking for information about Informa TechTarget products and services? The commercial homepage has moved. Visit Informa TechTarget News 01 Aug 2025 / Policy & regulation Trump urges top drugmakers to cut U.S. prescription drug costs Trump increases pressure on 17 of the world's largest drug makers to lower U.S. prescription drug prices in 60 days, ahead of proposed tariffs and pharmaceutical impo

    TechTarget - Global Network of Information Technology Websites and Contributors
    wacky
    wacky 2006/04/28
    script.aculo.usを利用した鏡面反射のようなエフェクトのサンプル。