- 締切済み
flash10対応の為のASの修正
flashのアクションスクリプトについてなのですが バージョンの10に対応するにはどうしたらよいでしょうか ソースは以下になります。 // ========================= // バージョンチェック // ========================= version = getVersion(); version = version.split(" "); userAgent = version[0]; version = version[1].split(","); majorVer = Number(version.split(" ")[1].split(",")[3]); minorVer = version[2]; _root.flaVer.text = "userAgent = " + userAgent + " / version = " + version + "n"; _root.flaVer.text += "majorVer = " + majorVer + " / minorVer = " + minorVer; _root.flaVer.autoSize="left"; if (majorVer>=7) { this.gotoAndPlay("urlRead"); }else{ this.gotoAndStop("non"); } バージョン10の場合もurlReadにとばしたいというscriptです。 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
> バージョンの10に対応するにはどうしたらよいでしょうか バージョン10 とは FlashPlayer10 のことだと思いますが, FlashPlayer10 以前の問題で7でも変ですよ。 と言いますか, FlashPlayer10 と それ未満の問題は一切含まれないと思います。 スクリプトを1行ずつ見ていけば良いのです。 ========================================== // 「↑」はバージョンが WIN 10,0,12,36 であった場合の例 version = getVersion(); // ↑変数 version = "WIN 10,0,12,36" version = version.split(" "); // ↑配列 version = ["WIN","10,0,12,36"] userAgent = version[0]; // ↑変数 userAgent = "WIN" version = version[1].split(","); // ↑配列 version = [10,0,12,36] majorVer = Number(version.split(" ")[1].split(",")[3]); // ↑変数 majorVer // = 配列version を " " で分割した2番目要素を // さらに "," で分割した4番目の要素 // (???何コレ意味不明。) ========================================== ここまでで意味不明状態に突入しますから, これ以上先には進めなくなります。 それと, 変数であったはずの version が,突如 配列version に切り替わったりするため, ますます混乱するのだと思います。 次のように変更すればできると思います。 ========================================== // 「↑」はバージョンが WIN 10,0,12,36 であった場合の例 version = getVersion(); // ↑変数 version = "WIN 10,0,12,36" versionArr = version.split(" "); // ↑配列 versionArr = ["WIN","10,0,12,36"] userAgent = versionArr[0]; // ↑変数 userAgent = "WIN" versionArr = versionArr[1].split(","); // ↑配列 versionArr = [10,0,12,36] // 配列の要素を結合して文字列を得る version = versionArr.join(","); // ↑変数 version = "10,0,12,36" // 配列の最初の要素を削除してその要素を得る majorVer = versionArr.shift(); // ↑変数 majorVer = "10" // 残った配列の要素を結合して文字列を得る minorVer = versionArr.join(","); // ↑変数 minorVer = "0,22,0" _root.flaVer.text = "userAgent="+userAgent+" / version="+version+"\n"; _root.flaVer.text += "majorVer="+majorVer+" / minorVer="+minorVer; _root.flaVer.autoSize = "left"; if (Number(majorVer)>=7) { this.gotoAndPlay("urlRead"); } else { this.gotoAndStop("non"); } ========================================== 最初の行 version = getVersion(); // ↑変数 version = "WIN 10,0,12,36" ここですでに, 「WIN 10,0,12,36」 まで,ちゃんと得られているのですよ。 この文字列 「WIN 10,0,12,36」 を,配列を使って操作して, 「WIN」 と 「10」 と 「10,0,12,36」 と 「0,12,36」 をバラバラに取りだしているというだけです。
お礼
BlurFiltan様 ご回答有難うございます。 よくよく見た結果原因は違うところにあったようです。。。 すいません。ありがとうございました。