Как заставить flash перезагрузить родительскую HTML-страницу, в которую он встроен?

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


person Community    schedule 18.09.2008    source источник


Ответы (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