Получите текущий URL браузера - ActionScript 3

Я пытаюсь получить текущий URL браузера. Я уже попробовал Внешним вызовом, и он не работал. И с loaderInfo.url я получаю текущий URL SWF.

11
задан user58 3 January 2017 в 15:49
поделиться

4 ответа

Существует пара способов решения этой проблемы, однако все они включают использование JavaScript для запроса браузера напрямую.

Мой предпочтительный способ решить эту проблему, чтобы обеспечить URL через свойство Flashvar, направлять от кода в области встраивания (лично, я бы рекомендовал использовать SWFObject , чтобы сделать это проще); Не забудьте, что вам нужно будет URL-адрес кодировать его, чтобы избежать проблем разметки.

var flashvars = {
  browserURL: escape(location.href)
};
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf", flashvars);

Теперь вы сможете получить доступ к URL-адресу браузера через объект LoaderInfo:

trace(stage.loaderInfo.parameters["browserURL"]);

Обратите внимание, что это будет работать только, если у вас есть управление сгенерированным HTML для вашего SWF-файла - если пользователи будут схватить SWF и писать Их собственный встроен HTML, он не собирается работать.

Если у вас нет контроля над флэш-встроенным HTML, вам нужно будет получить Flash, чтобы запросить браузер во время выполнения, используя класс ExternalInterface; Другие люди предложили использовать «window.location.href.tostring», однако это может оказаться проблематичным в IE6, я нахожу следующие работы надежно во всех браузерах

const browserURL : String = ExternalInterface.call("eval", "window.location.href");

Обратите внимание, что для этого на работе вам нужно будет предоставить JavaScript доступ к вашему флэш-фильму, это сделано, опять же, через HTML-код и ProselctcessAccess MARAG

2
ответ дан 3 December 2019 в 05:58
поделиться

Дайте фору:

import flash.external.ExternalInterface;

var url:String = ExternalInterface.call("window.location.href.toString");
if (url) textfield.text = url;

должно получиться.

15
ответ дан 3 December 2019 в 05:58
поделиться

Я думаю, что его поставит использовать внешний интерфейс AN, сделать его с JavaScript Window.location

0
ответ дан 3 December 2019 в 05:58
поделиться

Я бы попробовал пропустить необходимую информацию в виде вспышки. Не лучший из ящиков я знаю, но он будет работать.

Flash: Flashvars в AS3

1
ответ дан 3 December 2019 в 05:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: