Mam aplikację flash (SWF) z Flash 8 osadzoną na stronie HTML. Jak uzyskać flash, aby ponownie załadować stronę nadrzędną HTML, w której jest osadzona? Próbowałem użyć ExternalInterface do wywołania funkcji JavaScript, aby ponownie załadować stronę, ale to nie działa. Jak uzyskać flash, aby ponownie wczytać macierzystą stronę HTML, w której jest osadzony?
5
A
Odpowiedz
4
spróbować czegoś takiego:
getURL("javascript:location.reload(true)");
11
Sprawdź ExternalInterface w Action Script. Za pomocą tego można wywołać dowolną funkcję JavaScript w kodzie:
if (ExternalInterface.available)
{
var result = ExternalInterface.call("reload");
}
W kodzie Osadzanie HTML wprowadzić funkcję JavaScript:
function reload()
{
document.location.reload(true);
return true;
}
Ma to tę zaletę, że można również sprawdzić, czy wywołania funkcji udało się i odpowiednio zareagować. getUrl wraz z wywołaniem JavaScript nie powinny być już używane. To stary hack.
1
We Flashu 10 można zrobić:
navigateToURL(new URLRequest("path_to_page"), "_self");
2
szybki i brudny: To będzie działać w większości przypadków (bez modyfikowania strony HTML w ogóle):
import flash.external.ExternalInterface;
ExternalInterface.call("history.go", 0);
4
proste rozwiązanie jednej linii.
ExternalInterface.call("document.location.reload", true);