- ベストアンサー
外部テキストからURLを読み込む方法
- 外部テキストにあるURLを読み込む方法を教えてください。現在の方法ではURLが「&」で区切られてしまいます。
- 外部テキストのURLを1つのデータとして読み込む方法を教えてください。
- FLASH MXで外部テキストのURLを読み込む処理を行っていますが、URLが「&」でデータが区切られてしまいます。解決方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
& の代わりに、& のURLエンコード”%26”を挿入してみてください。 例えば、data.txt は data=http://***.net/***/***.cgi?mode=link%26id=123 というように書きます。 外部から読み込んだURLでページを開くなど、読んできたテキストを使って何かをする場合は、必ず、読み込みの完了を待ってから次の処理をするようにしましょう。完了する前に先に進むと、開こうとしたページのアドレスが見付からず、読み込みエラーになるなど、不具合の原因になります。 読み込みの完了を検出する方法はいろいろありますが、ここでは、簡単なところで、読み込みが完了したときに発生する data というイベントを利用して確認してみます。 次のようなスクリプトを、フレーム1に設定してみてください。 (↓各行頭に全角のスペースが入っています。コピーする際はご注意ください) this.loadVariables( "data.txt" ); this.onData = function() { trace( "URL : " + data ); }; 読み込みが成功していれば、「出力」ウィンドウに URL : http://***.net/***/***.cgi?mode=link&id=123 と、”&”の位置で分断されることなく表示されます。 読み込みの完了を待つ処理は、今回は本題ではないので簡単にご紹介する程度にさせていただきました。 LoadVars を利用したり、フレーム間をループして変数 data の値を監視するなどの処理を加えることで、通信中に不測のトラブルが起きて読み込みに失敗した場合などにも対応できるようになります。 ちなみに、data は Flash ではキーワードになっていますから、できれば別の変数名を付けた方がいいと思います。 特殊文字を読み込む時の注意点が、Flash のテクニカルノートで詳しく解説されておりますので、よろしければご参照ください。 他の文字のURLエンコードも公開されています。
お礼
できました!ありがとうございます! ”URLエンコード”これがキーワードでしたね。 「data」などの予約語についても気をつけます。 読み込み完了処理や参考先URLまで、本当に丁寧なお答えを頂きありがとうございました。とても助かりました。