2009-08-10 4 views
0

Heyas. Ich habe eine Flash-App, an der ich arbeite, die auf anderen Websites (wie YouTube-Videos) eingebettet werden kann, aber wir möchten wissen, auf welcher Website der Benutzer die Website anzeigt. Gibt es eine Möglichkeit zu sagen, auf welcher Website die App eingebettet ist, auf der der Nutzer gerade zu sehen ist?Einbettungsort für eine Flash-App finden

Die ursprüngliche App ist in Flash/ActionScript und PHP auf dem Server ausgeführt, wenn das hilft. Vielen Dank.

Antwort

1

Sie können einfach die HTTP referrer header über PHP abrufen, speichern sie irgendwo und als Ihre Flash-Inhalte dienen ...

<?php 

// served from http://yoursite.net/your_flash.php 


//read the referer header 
$referer_url = (isset($_SERVER['HTTP_REFERER']))? $_SERVER['HTTP_REFERER'] : ""; 
//store it somewhere... 

//read the swf file 
$swf=file_get_contents('flash_app.swf'); 
//spit the flash content out with the proper header 
header('Content-type: application/x-shockwave-flash'); 
echo $swf; 
?> 

Embed-Code, in deren HTML von Webseiten Dritter eingefügt werden:

<object width="550" height="400"> 
<embed src="http://yoursite.net/your_flash.php" width="550" height="400"> 
</embed> 
</object> 
+0

Ich kann den HTTP_REFERER nicht ausführen, wenn der Flash in das Blog eines anderen Benutzers eingebettet ist. Sie würden einfach den eingebetteten Code verwenden, der ihnen zur Verfügung gestellt wurde. Ich kann nichts auf ihrem Server laufen lassen. – JustJon

+0

@justJon, der Code, den ich gerade gepostet habe, soll vom Server ausgeführt werden, der die SWF-Datei nicht von den Drittparteien verbreitet, die Ihren Inhalt einbetten. –

+0

@And bedeutet einfach, diese Wrapper-Datei in PHP zu erstellen und den Stream zu streamen swf davon. Für Browser sieht dies aufgrund des Headers wie natives Flash aus. Nennen Sie es myflash.php und geben Sie es an die Benutzer zur Aufnahme weiter. Oder nenne es myflash.swf und benutze mod_rewrite. – Residuum