プロフィール

けい

Author:けい
公開したWebサービス・アプリ一覧はこちら

※2014年12月、私が個人で開発したWebサービス・アプリへの
累計アクセス数は8億を超えました。
負荷対策頑張ります。日々精進していきます!!


■■■ 業務経歴 ■■■
社会人1年目:携帯電話開発。画面周りを1年間
2年目 :海外向け携帯電話ミドルウェア開発
     ブラウザとプロトコルスタック周り
2年目後半~:携帯電話の通信専用チップ開発
3年目:カーナビ。画面周りの開発
3年目後半~:BDビデオカメラ
     組み込みLinux カーネルと
     ドライバの開発。
4年目12月:プロジェクト途中で退社
~ここまではC、またはC++で開発~

~ここからJavaがメインの開発~
4年目1月:Web系の会社に転職
       ~4ヶ月間の研修
5年目5月:製造業向け生産管理システム開発
6年目9月:証券会社向けシステム開発
7年目10月~携帯電話向けコミックサイトの運用・開発
8年目12月:プロジェクト途中で退社

~ここからPHPがメインの開発~
8年目1月~仲介手数料が無料の不動産屋の社内SEに転職
交渉しほぼ完全に裁量労働が可能な立場になる。
業務内容はシステム全般ですが、
最近はSEO対策の作業が多いです。
現在14年目 まだ、しばらくはこの会社に居るつもりです。

あと、全ての記事がリンクフリーです。

最近の記事

過去ログ

全ての記事を表示する

全ての記事を表示する

カテゴリー

FC2カウンター

RSSフィード

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.--    [ Myカテゴリ:スポンサー広告 ]

【技術メモ】IE8のXDomainRequestでのクロスドメイン対応

以前、マッシュアップを頑張っていた時に
XDomainRequestも相当学習したはずなのですが、
久しぶりにAjax使ったら全然覚えていなかったのでメモ。
(本当はIE8で、クロスドメイン周りの不具合をデザイン会社さんから
解決できないと泣きつかれてしまったので頑張って対応した!!)

ネタ元は小飼 弾先生のコチラの記事なのですが


++++++++++++++++++++++++++++++++++
getURL = (function() {
var xhr; // 2
if (window.XDomainRequest) {
xhr = new XDomainRequest(); //3
return function(url, callback) {
xhr.onload = function() { //4
callback(xhr.responseText, xhr.contentType); //7
};
xhr.open('POST', url); //5
xhr.send(); //6
};
} else {
xhr = new XMLHttpRequest(); //2
return function(url, callback) { //3
xhr.onreadystatechange = function() { //4
if (xhr.readyState === 4)
callback(xhr.responseText, xhr.getResponseHeader("Content-Type")); // 7
};
xhr.open('POST', url, true); // 5
xhr.send(); // 6
};
}
})();

getURL('http:// api.dan.co.jp/jsonenv', // 1
function(c, t) {
alert(c); // 8
}
);

++++++++++++++++++++++++++++++++++


実際に色々弄ってみるまで、どういう順番で呼ばれるのかすら
わからなかったので、呼ばれる順に番号を振ってみました。

また、何点かハマった箇所があるのでそれも注意点として書いておきます。
・クロスドメインのテストの際に外部サーバーに対してBASIC認証をかけて
テストすることがあると思います。
その際にcookieを送信しないため、BASIC認証が通らず401エラーが発生致しました。
私の環境ではFirefoxでのみ401エラーが発生致しました。

・IEに対してXDomainRequestでPOSTデータの送信ができない。
これ5年くらい前にもはまって、結局GETで送った気がします。
コチラを参考に、$HTTP_RAW_POST_DATAから展開すれば、
POSTデータも正常に受信出来ました。


しかし、ノウハウが蓄積され周知の事実となったのか、
XDomainRequest関連の情報が随分入手しづらくなりましたね。
2013年8月現在、IE8+IE9で市場シェアは33%を超えているのに、
これほど情報の取得に苦労するとは思いませんでした。


余談ですが関数ポインタを使うコードって5年ぶりくらいで懐かしさを感じます。
組み込みでは関数ポインタの配列とかバリバリ使われていましたが、
思い出すだけで嫌になるほどデバックが大変であの頃は死んでいました。


オブジェクト指向+Webの開発はプログラマーの寿命をだいぶ伸ばしてくれる気がします。
グローバル変数、extern変数とかでスパゲッティみたいになったコードで
Grep地獄の開発は、もう2度とやりたくないですね。
スポンサーサイト
コメント(0)   2013.08.02    [ Myカテゴリ:未分類 ]

コメントの投稿













管理者にだけ表示を許可する

Template Designed By
ぐらいんだぁ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。