Как получить флэш-память для перезагрузки родительской HTML-страницы, в которую она встроена? - PullRequest
5 голосов
/ 19 сентября 2008

У меня есть флэш-приложение (SWF) под управлением Flash 8, встроенное в HTML-страницу. Как получить флэш-память для перезагрузки родительской HTML-страницы, в которую она встроена? Я пытался использовать ExternalInterface для вызова функции JavaScript для перезагрузки страницы, но это, похоже, не работает.

Ответы [ 5 ]

11 голосов
/ 17 октября 2008

Проверьте ExternalInterface в скрипте действия. Используя это, вы можете вызвать любую функцию JavaScript в вашем коде:

  if (ExternalInterface.available)
  {
    var result = ExternalInterface.call("reload");
  }

В HTML-код для встраивания введите функцию JavaScript:

  function reload()
  {
    document.location.reload(true);
    return true;
  }

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

4 голосов
/ 12 апреля 2013

Простое решение в одну строку.

ExternalInterface.call("document.location.reload", true);
4 голосов
/ 19 сентября 2008

Попробуйте что-то вроде этого:

getURL("javascript:location.reload(true)");

2 голосов
/ 25 августа 2010

Быстро и грязно: это будет работать в большинстве случаев (без изменения HTML-страницы вообще):

import flash.external.ExternalInterface;

ExternalInterface.call("history.go", 0);
1 голос
/ 07 апреля 2010

В Flash 10 вы можете сделать:

navigateToURL(new URLRequest("path_to_page"), "_self");
...