タグ

JavaScriptとajaxに関するichi_Sのブックマーク (10)

  • iOS6 Mobile SafariがAjax POSTでキャッシュする問題を回避する方法 | DevelopersIO

    iOS6出た! iOS6が出来ましたね。社内ではiPhone5を入手した社員がLTEの速度に驚いていました。私はまだiPhone4Sですが、iOS6にして新しい機能を楽しんでいるところです。さて、iOS6にしてSafariの仕様が変わって困ったと言った投稿が海外のフォーラムで挙っています。それも、基的なPOST通信についてです。これは困ったということで、動作を確認して対策方法についてシェアしたいと思います。 どんな時にPOSTをキャッシュする? まずはどんな状況か確認してみたいと思います。 Cache-ControlもExpiresも無い場合 : iOS6 Mobile SafariはPOSTをキャッシュする Cache-Control max-age=0指定 と Expires指定 : iOS6 Mobile SafariはPOSTをキャッシュする Cache-Control: no-

  • jQuery 1.5でのAJAXの書き方: 細切れに書くことや、遅延処理が可能 - YomuKaku Memo

    jQuery 1.5からjQuery.ajaxを呼ぶとjqXHRオブジェクトを返すようになり、deferredな処理が可能になっています。 モバイル向けのような単一ページでjavascript主体のアプリケーションにおいて、successやerrorのcallbackでサーバーからの返り値だけを取得しておき、deferredな処理が可能であることを活かして当該の返り値を加工したり、必要な処理をいくつか行った後に、completeのcallbackで処理を締めくくるような用途の多様化を想定した仕様変更なのかと思われます。 jQuery 1.5とjQuery 1.4で、AJAX処理の書き方は極端に変わったわけではありませんが、骨格としては以下のように異なります。 jQuery 1.4の場合 // ============== // = jQuery 1.4 = // =============

  • Xlune::Blog

    可変グリッドレイアウトjQueryプラグイン(jquery.vgrid.js) なんだか可変グリッドレイアウトがまた流行ってる(?)ようなので、jQueryプラグイン書いてみた。 一通りブラウザで表示確認ぐらいはしたけど、テストは十分じゃありません。 Demo Demo Index 利用方法はデモのソースを確認してください。(ウィンドウリサイズして動きも確認してね) Download github zip file 利用には、jQuery体とjquery.easingプラグインが必要です。別途読み込んでください。 更新情報 v0.1.8 (20120421) display属性で、グリッド要素の表示/非表示を切り替えれるように修正しました。 demo009を追加 v0.1.7 (20111110) 複数の可変ボックスを指定すると、開始位置がおかしくなるバグを修正しました。 demo008

    Xlune::Blog
  • [さらに気になる]JSONの守り方

    JSON評価時の危険性 受け取ったJSON文字列を、JavaScriptのオブジェクトとして扱うためにevalを使うと説明しましたが、万が一JSONデータ内に、攻撃者の仕組んだスクリプト相当の文字列が含まれていた場合、evalを使うとJavaScriptとしてそのまま実行してしまうため、大変危険です。 例えば、以下のようなJSONが生成されたとします。太字部分が攻撃者の用意したデータです。 これをそのままevalで評価すると、alert(document.cookie)も動作してしまいます。 対策としてはJSONによるXSS同様、文字列内の半角英数字以外をすべて\uXXXXの形式でエスケープすることなのですが、後述するXMLHttpRequest Level 2などを用い、クロスドメインで他者の用意したJSONを読み込んだ場合には、正しくエスケープされていることが保証されません。そのため、

    [さらに気になる]JSONの守り方
  • jQuery TOOLS - The UI library for the Web

    jQuery Tools is a collection of the most important user-interface components for today's websites. This single JavaScript file weighs only 5.8 Kb Tabs is the most popular JavaScript tool on the web. Tabs, horizontal tabs and accordions, finally done the right way. Great looking tooltips. Big or small. Pluggable effects. Yet another crucial tool. Visually appealing overlays. This tool is a signific

  • JavaScript だけでクロスドメインで POST メソッドを送る方法

    JavaScript のみを使って、クロスドメインを実現しつつ POST メソッドでリクエストを送信する方法について解説します。 ここで解説する方法にはこんな特徴があります。 (2009-10-30 追記) iframe の unload のタイミングについて、重大な不具合がある可能性に気づきました。Chrome/Firefox において、2度イベントが発生している可能性が高いです。unload イベントを使わない場合は無関係です。結論が分かったら修正版をこのページで公開します。 (2010-01-29 追記) Chrome は大丈夫そうです。Firefox もカウンタ or フラグを使ってイベントを記録すれば大丈夫ぽいです。ちゃんと直せて無くてすいません。 XMLHttpRequest では不可能な、クロスドメインによるポストを実現している。 元になるページの文字エンコードの種類にかかわ

    JavaScript だけでクロスドメインで POST メソッドを送る方法
  • 動的にiframeを生成してクロスドメインなPOSTを投げる方法 - Okiraku Programming

    ※2015/3/15追記 2015/2月ごろから記事の方法はTwitterでの実利用は困難になりました。レスポンスヘッダに"content-disposition: attachment; filename=json.json"が追加されるようになったため、json.jsonというファイルとしてダウンロードが行われてしまいます。現状でこれを回避する方法はないと思われ、POSTはサーバ経由で行うしかなさそうです。(JSONPを利用したGETはこのヘッダがあっても可能です。) =====追記以上==== twicli開発メモ - Okiraku Programming で、iframeをtargetに指定してformを送信することで、外部ドメインに対してPOSTメソッドを発行する方法を書きました。が、iframeをあらかじめ準備する必要があったため、複数のクエリを同時発行できないといった欠点

    動的にiframeを生成してクロスドメインなPOSTを投げる方法 - Okiraku Programming
  • AJAX Libraries API - Google Code

    What is the AJAX Libraries API? The AJAX Libraries API is a content distribution network and loading architecture for the most popular open source JavaScript libraries. By using the Google AJAX API Loader's google.load() method, your application has high speed, globaly available access to a growing list of the most popular JavaScript open source libraries including: jQuery jQuery UI prototype scri

  • Site Under Maintenance

    We'll be back soon! Our site is currently undergoing maintenance. Please check back later.

    Site Under Maintenance
  • Ajax中にページ更新する際の注意点

    Ajax中にページ更新する際の注意点 Ajaxで通信中にF5などを押してページをリロードすると通信エラーが帰ってきます。 詳しくは調べていませんが、どうもFirefoxでの挙動のようです。 参考:FirefoxでAjax中にF5押したとき « pocketo.net blog このサイトのようにAjaxのXMLHttpRequestをabort()で中断すれば、この問題は解決できます。 var xhr = $.ajax( {....}) $( document ).bind( 'beforeunload', function() { xhr.abort(); } ); ただ、通信の数が多い場合は、毎回設定するのは少し面倒。 そういう場合は、以下のように設定しておくとjQueryでajaxを使うと自動でabort()を設定してくれます。 $("body").bind("ajaxSend",

    Ajax中にページ更新する際の注意点
  • 1