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