Как получить флэш-память для перезагрузки родительской 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");
Другие вопросы по тегам