Code für Weiche mobil/nicht mobil

  • Ich wollte heute mal erste Tests mit einer Weiche mache, und bekomme es leider nicht hin.
    Um es einfach zu halten, wollte ich einfach nur ausprobieren, ob ich es hinbekomme, eine Navimap nur bei bestimmten Devices einzubauen.

    Bisher (ohne Weiche) wurden meine Navimaps von der Haupt-XML mit folgendem Code eingebunden:
    <scene name="scene_1" onstart="activatespot(spot1, 140);" thumburl="panos/1.tiles/thumb.jpg" lat="" lng="" heading="">
    <include url="navimap1.xml"/>
    …..

    Bei dem Versuch, das Einbinden auf bestimmte Decices zu beschränken, kommt immer der Fehler-Code „Fatal Error - Tour-XML - loading or Parsing failed."

    Mit folgenden Zeilen habe ich jeweils versucht, die zweite Zeile zu ersetzen:

    <if(device.html5); include url="navimap1.xml"/>
    <devices = "mobile" include url="navimap1.xml"/>
    <if="devices = "mobile" include url="navimap1.xml"/>
    <if="device = mobile" include url="navimap1.xml"/>

    Was habe ich falsch gemacht?
    Kann mir jemand einen Tip geben, wie der richtige Code sein müßte?

  • Hi,

    deine Codes sind leider allesamt komplett falsch! *wink*

    Richtig wäre z.B.:

    Code
    <include url="..." devices="mobile" />

    Das <include ... /> selbst ist das eigentliche XML Element - siehe hier dessen Doku:
    https://krpano.com/docu/xml/#include

    Das devices="..." ist ein Spezialattribut welches zu jedem XML Element hinzugefügt werden kann und definiert ob dieses XML Elmenet verwendet oder ausgelassen werden soll (je nachdem ob das aktuelle Gerät mit dem devices Wert 'übereinstimmt'). Hier wieder die Doku dazu:
    https://krpano.com/docu/xml/#devices

    Zusätzlich gibt es seit der Version 1.19 auch ein if="Ausdruck" Spezialattribut, es funktioniert im Prinzip wie das devices Attribut, nur erlaubt es komplexe Ausdrücke zu verwenden.
    Das wäre z.B. auch möglich:

    Code
    <include url="..." if="device.mobile == true" />

    Ist das gleiche wie devices="mobile".

    Schöne Grüße,
    Klaus

  • Danke Klaus.
    Das hilft mir schon fast weiter : )
    <include url="..." devices="mobile" /> schien zu funktionieren, die Navimap wurde auf meinem Macbook, auf dem ich teste, nicht mehr gezeigt.


    Eigentlich geht es mir darum, eine Trennung nach großem Bildschirm (Laptop, Desktop, Tablet - und kleinem Bildschirm (Smartphone) zu bauen.
    Welche Trennung würdest Du da empfehlen, damit immer eine Navigation eingeblendet wird, und nie zwei oder keine.

    Ich dache eigentlich, mobile vs. normal wäre richtig.

    Allerdings wird mein Macbook 15 (normale Einstellungen, tour läuft auf html5 prefer) nicht als normal (und auch nicht als mobile erkannt. (als Desktop wird es angesehen, und andere Erkennungsmerkmale wie touch, mouse, html5 werden korrekt erkannt)

    Warum wird das Macbook nicht als normal erkannt?

    Welche Trennung würdest Du empfehlen, wenn es mir primär um Bildschirmgröße (Navimaps sind 800 Pixel breit) geht, und ich möglichst einfach coden möchte ?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!