岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

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>