Relative URLs in Actionscript 3
Ich habe einen flash-Film mit Actionscript 3 mit einigen Schaltflächen, die links öffnen neue Seiten. Hier ist der code, den ich für die Umleitung auf die neue Seite:
myButton.addEventListener(MouseEvent.CLICK, function(e:MounseEvent) {
var request:URLRequest = new URLRequest('http://www.example.com/page2.html');
navigateToURL(request, "_top");
});
Es funktioniert gut auf meinem prod-server mit der vollständigen url einschließlich domain, aber wenn ich es ändern auf dieser:
var request:URLRequest = new URLRequest('page2.html');
es funktioniert nicht mehr in Produktion. Was vermisse ich hier? Ich möchte nicht codieren Sie die gesamte URL in den Film.
- Wo ist die .swf liegt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
URLRequests sind relativ zur HTML-Datei, die diese enthält (dabei ist es egal, wo deine SWF ist), so müssen Sie das zu berücksichtigen.
Es ist ein optionales Attribut des EMBED/OBJECT können Sie dieses Verhalten ändern, siehe hier:
http://kb2.adobe.com/cps/127/tn_12701.html
BEARBEITEN:
Versuchen Sie auch, zu vermeiden Sie die Verwendung von absoluten URLs für relative Dateien, wie Sie bekommen konnte sandbox-Fehler, zum Beispiel, laden Sie die web ohne "www."...
Versuchen Sie es mit /page2.html
/page2.html sollte gut funktionieren, wie Chris vorschlug.
Auch, eine Sache, die ich oft für größere Projekte mit vielen URL ' s ist, erstellen Sie einfach eine Reihe von global link-Funktionen, die ich wechseln kann zwischen verschiedenen launch-Umgebungen.
Wo ich arbeite, wir haben mindestens 4 oder 5 unterschiedliche Umgebungen zwischen Produktion, Inszenierung, und verschiedene Test-Umgebungen, und manchmal auch URL ' s müssen optimiert werden (z.B. wenn eine Datenquelle, die auf die Inszenierung und nicht auf die Produktion noch nicht).
Also ich würde einen high-level-Funktion wie
MakeURL()
Welches ich füttern würde eine Basis Seite Strings wie "page2.html" und die MakeURL Funktion parse in ein URL-Präfix wie http://staging.site.com oder http://alpha.site.com.
So, wenn ich musste, ich konnte, jeder link in der app schnell.
Nun, werden Sie selten benötigen, um die komplette URL drin, es sei denn, Sie arbeiten mit mehreren und unterschiedlichen Umgebungen. In der Regel /page2.html wird funktionieren, aber ich verwende diese Funktion manchmal als ein failsafe.