Hi,
bei der gelegenheit eine kleine grundsatzfrage zur js schnittstelle...
Die JS Schnittstelle dient ja auch dazu den HTML5 Viewer und den Flash Viewer gleichermaßen ansteuern zu können bzw. war dies das ursprüngliche Konzept daher - es gibt eine Schnittstelle etwas zu setzen (set), etwas auszulesen (get) und Befehle zu senden (call). Im Grunde lässt sich damit auch alles umsetzen.
Sofern man Flash nicht benötigt, gäbe es aber auch Möglichkeiten zur direkten Ansteuerung - hier z.B. eine davon:
|
Quellcode
|
1
|
var krpano = document.getElementById("krpanoSWFObject").get("global");
|
Über das 'global' Objekts enthält man quasi das Grund(root)-Objekt in dem alles definiert ist.
Das ist auch das gleiche Objekt welches auch in Javascript-Plugins und in Javascript-Actions zu Verfügung steht:
https://krpano.com/docu/plugininterface/#krpanointerface
https://krpano.com/docu/xml/#action.js
Dort gibt es ebenfalls die set, get, call Actions, man kann aber auf die Datenstrukturen (z.B. krpano.image.sphere.url) auch direkt zugreifen.
Die Actions-Funktionen von krpano sind über ein im krpano Objekt definiertes 'actions' Objekt erreichbar - z.B.
|
Quellcode
|
1
2
3
4
|
krpano.actions.addhotspot(...);
krpano.actions.tween(...);
krpano.actions.loadpano(...);
...
|
D.h. krpano lässt sich im Prinzip auch vollständig über Javascript steuern.
Ein wesentlicher Unterschied besteht aber beim Array-Zugriff - da müssen die Funktionen createItem und getItem oder auch getArray des jeweiligen Array Objekts verwenden werden um auf die Array Items zuzugreifen. Weitere Details dazu hier:
https://krpano.com/docu/plugininterface/#array
Schöne Grüße,
Klaus