OperaではURLRequestHeaderでAuthorizationヘッダを付加できない
昨日のライブラリはFirefox2、IE7に加えて、Safari3でもうまく動いた(昨日IEで動かなかったのはFlashプラグインが古かったせい)。
が、Opera9でBasic認証ができない。URLRequestHeaderでAuthorizationヘッダを付加しているのだが、送信されないのだ。「X-Authorization」の場合は送信されるので、そういう仕様なのだろう。
状況はつかめたので、呼び出し側のサンプルを公開する。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript; charset=UTF-8" /> <title>呼び出しサンプル</title> </head> <body> <div id="req_container"><p>代替文字列ほげほげ</p></div> <script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript" src="FABridge.js"></script> <script type="text/javascript"> var so = new SWFObject('HttpRequest.swf', 'req', '0', '0', '9', '#ffffff'); so.write('req_container'); FABridge.addInitializationCallback('flash', function() { var req = FABridge.flash.root(); req.oncomplete(function() {alert('complete');}); req.onerror(function() {alert('error');}); req.doGet([URL], {'key' : 'val'}, 'user', 'pass'); }); </script> </body> </html>