Wie bekomme ich Flash, um die übergeordnete HTML-Seite neu zu laden, in die sie eingebettet ist?

Ich habe eine Flash-App (SWF) mit Flash 8 eingebettet in eine HTML-Seite. Wie bekomme ich Flash, um die übergeordnete HTML-Seite neu zu laden, in die sie eingebettet ist? Ich habe versucht, mit ExternalInterface eine JavaScript-Funktion aufzurufen, um die Seite neu zu laden, aber das scheint nicht zu funktionieren. In der Tat

0

5 Antworten

Einfache Ein-Zeilen-Lösung.

ExternalInterface.call("document.location.reload", true);
0
hinzugefügt

Versuchen Sie etwas wie folgt:

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

0
hinzugefügt

Überprüfen Sie das ExternalInterface in ActionScript. Mit diesem können Sie jede JavaScript-Funktion in Ihrem Code aufrufen:

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

Geben Sie im Einbettungs-HTML-Code eine JavaScript-Funktion ein:

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

Dies hat den Vorteil, dass Sie auch prüfen können, ob der Funktionsaufruf erfolgreich war und entsprechend handeln. getUrl zusammen mit einem Aufruf von JavaScript sollte heute nicht mehr verwendet werden. Es ist ein alter Hack.

0
hinzugefügt

In Flash 10 können Sie Folgendes tun:

navigateToURL(new URLRequest("path_to_page"), "_self");
0
hinzugefügt

Schnell und schmutzig: Dies funktioniert in den meisten Fällen (ohne die HTML-Seite zu ändern):

import flash.external.ExternalInterface;

ExternalInterface.call("history.go", 0);
0
hinzugefügt
JavaScript - Deutsche Gemeinschaft
JavaScript - Deutsche Gemeinschaft
3 der Teilnehmer

In dieser Gruppe sprechen wir über JavaScript.