URLの後ろに改行なんていれてちゃ駄目だったのね

HTMLコンポーネントでも、HTMLLoaderクラスでも表示は一緒」に書いたように、AIR アプリのHTMLコンポーネントでインターネット上のWebページを表示した時に、外部CSSファイルや画像ファイルを一切読み込まない(つまり、URLで指定したHTMLだけ読み込んでお終い)という状況が発生していた。

「なんやねん!こんなしょぼい仕様なんかい!?」と怒っていたのだが、原因は俺だった。ごめん・・・Adobe社。

結局、原因は「URLの最後に改行コードがついていた」からであった。

テキストファイルから URL を読み込んで、それをHTMLコンポーネントのlocationプロパティにセットするのだが、末尾の改行コードをとりわすれてた。

なので、

url  = (url.split("\r")).join("");
url  = (url.split("\n")).join("");

web.location   = url;

という具合に、locationプロパティにセットする前に CR/LF コードを削除するようにしてやればバッチリであった。

URL の後ろに改行コードが入ってると、怪しいURLと判断して、そこからのリンクを全部無視してしまうとか、そういう仕様なのかね?

URL の後ろに改行コードが入ってると、「外部の画像ファイルやCSSファイル等を一切読み込まない。その代わり、ローカルディスク上にある画像であれば表示できる」という動きをする。ローカルディスク上の画像ファイルは読み込めるということは、やっぱセキュリティ上の制限をかけてるのかなあ・・・

ま、単純に Flex にバグがあって、予想外の動きをしているという可能性も捨てきれんがなあ(笑)

トラックバック(0)

このブログ記事を参照しているブログ一覧: URLの後ろに改行なんていれてちゃ駄目だったのね

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/1450

コメントする

このブログ記事について

このページは、shinodaが2011年1月22日 14:25に書いたブログ記事です。

ひとつ前のブログ記事は「「和食 どんと」の海鮮ちゃんぽんうどんランチを食べた」です。

次のブログ記事は「Windows でも Mac でも使いたいなら、native なんて付いてるプロパティは使うなと」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら