Как получить флэш-память для перезагрузки родительской HTML-страницы, в которую она встроена?
У меня есть приложение Flash (SWF) под управлением Flash 8, встроенное в страницу HTML. Как получить флэш-память для перезагрузки родительской HTML-страницы, в которую она встроена? Я пытался использовать ExternalInterface для вызова функции JavaScript для перезагрузки страницы, но это, похоже, не работает.
5 ответов
Проверьте ExternalInterface в скрипте действия. Используя это, вы можете вызвать любую функцию JavaScript в вашем коде:
if (ExternalInterface.available)
{
var result = ExternalInterface.call("reload");
}
В HTML-код для встраивания введите функцию JavaScript:
function reload()
{
document.location.reload(true);
return true;
}
Это имеет то преимущество, что вы также можете проверить, успешно ли выполнен вызов функции, и действовать соответствующим образом. getUrl вместе с вызовом JavaScript больше не должны использоваться сегодня. Это старый хак.
Простое решение в одну строку.
ExternalInterface.call("document.location.reload", true);
Попробуйте что-то вроде этого:
getURL("javascript:location.reload(true)");
Быстро и грязно: это будет работать в большинстве случаев (без изменения HTML-страницы вообще):
import flash.external.ExternalInterface;
ExternalInterface.call("history.go", 0);
В Flash 10 вы можете сделать:
navigateToURL(new URLRequest("path_to_page"), "_self");