У меня проблема с "&".
По сути, мне не удалось избежать этого правильно во Flash AS3, однако я нашел эту ссылку, которая кажется полезной: http://www.smithmediafusion.com/blog/?p=343
Тестовая страница: http://touchstormdigital.com/leon/testing/
Вот мои текущие функции:
try {
varHome = this.loaderInfo.parameters.home;
homeImage = this.loaderInfo.parameters.homeImage;
homeTitle = this.loaderInfo.parameters.homeText; // Get the Video Title
// Title = "Quick & easy chicken recipes for dinner"
} catch (e:Error) {
varHome = "false";
homeBool = false;
}
Функция поиска и замены:
// Home player test search & replace ampersand
private function replaceString(str:String, find:String, replace:String):String
{
var startIndex:Number = 0;
var oldIndex:Number = 0;
var newString:String = "";
while ((startIndex = str.indexOf(find, startIndex)) != -1)
{
newString += str.substring(oldIndex, startIndex) + replace;
oldIndex = startIndex += find.length;
}
return((newString == "") ? str : newString);
}
Итогда, как я использую это
private function drawSplash():void
{
sp = new ScreenButton();
replaceString(homeTitle,"&", "\\u0026");
sp.drawScreenButton(playerW, playerH, homeBool, homeImage, homeTitle);
sp.addEventListener("onPlay", vd.playVideo);
sp.addEventListener("embedSplash", hideSplash);
stage.addChild(sp);
}
Я думаю, что здесь проблема:
replaceString(homeTitle,"&", "\\u0026");
Я также попробовал это:
replaceString(homeTitle,"&", String.fromCharCode(38));
ЦЕЛЬ Захватите «Быстрые и простые рецепты курицы на ужин» и покажите его
По-прежнему отображается просто «Быстрый»
Тестовая страница: http://touchstormdigital.com/leon/testing/
ОБНОВЛЕНИЕ!Обнаружено еще одно простое исправление, и нет необходимости менять заголовок!
В дополнение к ответу The_asMan, который работает, но требует, чтобы текст / копия были написаны очень странно, я обнаружил этот простой кусок javascript, который выполняетзадание:
http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp
Как я его использую:
<script type="text/javascript">
var homeText = "Quick & easy - chicken' recipes for dinner?!=+";
var fixed = encodeURIComponent(homeText);
</script>
А затем в области Flashvars:
so.addVariable("homeText", fixed);
Затем во Flash:
unescape(homeTitle);
Woot!