Внешний интерфейс не возвращает переменную, которая является URL, сгенерированным из данных XML - PullRequest
0 голосов
/ 17 августа 2010

Вот проблема: в основном у меня есть некоторые сгенерированные XML-данные, которые я извлекаю во флэш-память.Я использую ExternalInterface.call для экспорта некоторых данных в JavaScript в массиве.По какой-то причине все, кроме URL, возвращается - я пытался отследить URL - работает нормально.Я установил переменную со стандартным URL в том же месте - работает отлично.

В общем, это крайне запутанно!

Вот фрагмент кода, чтобы узнать, может ли кто-нибудь дать какой-либо совет!

    shedProductName = productName;
  shedColourName = new String(xmlData.data.item[clickedItem-1].product[name1].colours.colour.(@colour==colourCode2));  
  //shedColourImgLoc = new String(xmlData.data.item[clickedItem-1].product[name1].colours.colour.(@location));
  shedProdImgLoc = new String(xmlData.data.item[clickedItem-1].product[name1].@webimage); // this fails!
  trace(shedProdImgLoc); // this returns the correct result! :-S
  var testVar:String = new String("http://www.google.com"); // this works!!
  if (ExternalInterface.available) {
  flash.external.ExternalInterface.call("sendToJavaScript", [shedProductName, shedColourName, testVar, shedProdImgLoc]);

1 Ответ

0 голосов
/ 18 августа 2010

Попробуйте экранировать строку URL перед отправкой.

...
var testVar:String = new String("http://www.google.com");
testVar = escape(testVar); 
...

В результате получается строка со всеми необычными символами, преобразованными в эквивалент URL-адресов, в этом случае она становится такой:

http% 3A // www.google.com

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...