您可以尝试在链接地址中使用变量。这意味着只需在链接网址的末尾添加?lang=eng
之类的内容即可。 Flash可以读取该地址(仅来自HTML嵌入),并且具有根据lang=
部分之后的内容执行某些操作的代码。
有更好的方法来做到这一点,包括真正的变量解析,但我只是用一个简单的转换浏览器地址转换为字符串,然后提取最后一个(语言)位。只是为了看看这是否也适用。
只用于测试你需要一个MC和两个文本框的舞台上与这些实例名称:
txt_url
显示完整的浏览器地址
txt_lang
显示了最终的3个字母的语言代码
MC_lang
是根据txt_lang
更改框架的(您的)动画片段
定制:你可以用这两条线路自定义变量:
var Index_one:int = 5 + int(tempSTR.indexOf("lang="));
这里5
是因为lang=
有五个字符。当您更改单词时,您必须更改编号以匹配单词/符号长度。
case "eng"
必须将语言代码选择匹配(例如:如果你有?lang=english_UK
然后再在代码就成了case "english_UK"
import flash.display.MovieClip;
import flash.external.ExternalInterface;
var str_url :String = "";
get_Language();
function get_Language() : void
{
// GET LANGUAGE
var url:String = ExternalInterface.call("window.location.href.toString");
if (url != null) //if is not null
{ txt_url.text = url; txt_lang.text = get_lang_URL(url); }
//SET BY LANGUAGE
if (txt_lang.length > 0) //if is not null
{
switch(txt_lang.text)
{
case "eng": MC_lang.gotoAndStop(1); break;
case "jap": MC_lang.gotoAndStop(2); break;
case "bra": MC_lang.gotoAndStop(3); break;
}
}
}
//EXTRACT LANGUAGE VARIABLE FROM ADDRESS
function get_lang_URL (input_str:String):String
{
var tempSTR:String = input_str;
var finalSTR:String = "";
var Index_one:int = 5 + int(tempSTR.indexOf("lang="));
var Index_two = input_str.length - Index_one;
finalSTR = tempSTR.substr(Index_one, Index_two);
return finalSTR;
}