Sie sind nicht angemeldet.

1

Dienstag, 12. Januar 2016, 19:30

KrPano-Tour von fremder Webseite öffnen, Fehler

Hallo,

ich kann eine Tour unter dem Link http://www.marksimons.de/panorama/sylvenstein/ aufrufen, Dektop und Mobil, klappt alles hervorragend. Nun möchte ich dieselbe Tour von einer anderen Domain aufrufen, aber so daß der Browser nicht anzeigt wo die Panorama-URL liegt. Dazu liegt auf der fremden Domain (copteria.de) die HTML-Datei aus dem obigen Verzeichnis in Kopie (http://copteria.de/001/index.html) aber die Dateien tour.js, tour.xml und tour.swf werden nicht relativ referenziert sondern absolut wie im folgenden Beispiel:

$this->cacheCode('[php]','<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, minimal-ui" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="x-ua-compatible" content="IE=edge" />
<style>
@-ms-viewport { width:device-width; }
@media only screen and (min-device-width:800px) { html { overflow:hidden; } }
html { height:100%; }
body { height:100%; overflow:hidden; margin:0; padding:0; font-family:Arial, Helvetica, sans-serif; font-size:16px; color:#FFFFFF; background-color:#000000; }
</style>
</head>
<body>

<script src="http://www.marksimons.de/panorama/sylvenstein/tour.js"></script>

<div id="pano" style="width:100%;height:100%;">
<noscript><table style="width:100%;height:100%;"><tr style="vertical-align:middle;"><td><div style="text-align:center;">ERROR:<br/><br/>Javascript not activated<br/><br/></div></td></tr></table></noscript>
<script>
embedpano({swf:"http://www.marksimons.de/panorama/sylvenstein/tour.swf", xml:"http://www.marksimons.de/panorama/sylvenstein/tour.xml", target:"pano", html5:"auto", passQueryParameters:true});
</script>
</div>

</body>
</html>')

Bei Aufruf von http://copteria.de/001/index.html öffnet sich im Desktop-Browser sofort die Tour, und alles ist fein, aber auf dem iPad und dem iPhone kommt die Fehlermeldung:



Woran kann das liegen?! Rufe ich die absolut referenzierte Ziel-Seite http://www.marksimons.de/panorama/sylvenstein/ mit dem iPad direkt auf klappt alles wunderbar. Kann es sein daß für die tour.xml etwas gilt was mir entfallen ist?

Zur Erklärung: Alle meine Panoramen liegen auf marksimons.de, das ist mein Blog. Aber ich habe noch eine andere Domain wo ich Panoramen einbinden möchte, ohne Wordpress in einer ganz schmucklosen HTML-Seite, aber ohne daß auf die Originalquelle verwiesen wird. Wenn ich einfach nur einen Redirect in der HTML-Datei mache $this->cacheCode('[php]','<meta http-equiv="refresh" content="1;url=http://www.marksimons.de/panorama/sylvenstein/" />'), dann verlässt der Browser ja die Quelldomain und geht auf die andere Seite. Und Framesets will ich der Einfachheit und Kompatibilität mit mobilen Devices nicht einsetzen...

Jemand eine Idee?

2

Dienstag, 12. Januar 2016, 19:46

Hi,

das Stichwort lautet CORS (google mich!).

Wichtig ist, dass der Server, auf dem das Panorama tatsächlich liegt, mit den Panorama Dateien einen CORS Header mitschickt. Das erreichst du am einfachsten mit der Zeile Header set Access-Control-Allow-Origin "*" in der .htaccess Datei im Stammverzeichnis.

Dann, falls nötig, noch die entsprechenden CORS Einstellungen in der XML der Panoramen setzen:

http://krpano.com/docu/xml/#security

Gruß
1D

3

Dienstag, 12. Januar 2016, 19:55

Mensch vielen Dank Stefan,

ich habe zwar keine Ahnung was Du schreibst, aber ich will mich einlesen!

In meiner .htaccess-Datei steht folgendes drin:

$this->cacheCode('[php]','# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress')

Hast Du eine Ahnung wo ich Deine Zeile einfügen soll? Irgendwo?

Denk bitte auch daran Dich in die Meetup-Gruppe einzutragen :-)

VG, Mark

4

Dienstag, 12. Januar 2016, 20:21

Mensch vielen Dank Stefan,

ich habe zwar keine Ahnung was Du schreibst, aber ich will mich einlesen!

In meiner .htaccess-Datei steht folgendes drin:

$this->cacheCode('[php]','# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress')

Hast Du eine Ahnung wo ich Deine Zeile einfügen soll? Irgendwo?

Denk bitte auch daran Dich in die Meetup-Gruppe einzutragen :-)

VG, Mark


Ach, wenn du sonst schon oft wenig von meinen Beiträgen hältst, muss ja mal was sinnvolles dabei sein ;-)

Klatsch die Zeile Über den Wordpress Teil, also gleich in die erste Zeile der .htaccess, dann pfuscht Wordpress bei etwaigen Update-Änderungen nicht rum.

Gruß

EDIT: Am besten erstellst du aber eine neue .htaccess dort, wo das Panorama liegt. Das wird ja nicht im Wordpress Stammverzeichnis sein?

5

Dienstag, 12. Januar 2016, 22:02

Das Problem ist, denke ich daß ich im echten Leben voll der patzige Typ bin aber im Forum immer nach Harmonie suche, und bei Dir ist es genau andersrum, so hat es manchmal den Anschein :) Da gibt es gezwungenermaßen Reibung...

Aber wenn man denn mal Hilfe braucht bist Du da und packst an, das ist doch richtig was wert, oder?

Die htaccess lag tatsächlich im Stammverzeichnis. Die Panoramen liegen in einem anderen Verzeichnis, aber nicht innerhalb der Wordpress-Struktur sondern außerhalb. Muss ich jetzt in jeden Panoramaordner eine eigene htaccess-Datei reinbasteln oder reicht eine z.B. im übergeordneten Panorama-Ordner?

VG, Mark

So ungefähr sieht das aus..._

- root
- - copteria
- - marksimons
- - - panoramen
- - - - sylvenstein
- - - - dingsbums
- - - wordpress
- - - - wordpress-kram
uvm...

6

Dienstag, 12. Januar 2016, 23:22

Das Problem ist, denke ich daß ich im echten Leben voll der patzige Typ bin aber im Forum immer nach Harmonie suche, und bei Dir ist es genau andersrum, so hat es manchmal den Anschein :) Da gibt es gezwungenermaßen Reibung..


Interessante Analyse und wohl sogar zutreffend.

Pack eine .htaccess mit der einen Zeile in /root/copteria/marksimons/panoramen

.htaccess Dateien gelten immer auch für alle Unterverzeichnisse, falls diese keine eigene .htaccess Datein beinhalten. Damit können alle Panoramen im Verzeichnis "panoramen" auch an deine andere Domain ausliefern.

Gruß

7

Mittwoch, 13. Januar 2016, 20:22

Problem gelöst, vielen Dank 1D! Du hast mir damit echt geholfen :)

Viele Grüße, Mark