Kai-Uwe: Prüfung und evtl. automatsche weiterleitung (Webapp)

Hallo,
ich wühle mich gerade durch das Erstellen von WebApp's für Smartfones.
Mit vielem komm ich klar und die App's an sich laufen auch. Zwei Fragen bekomme ich jedoch nicht gelöst.

1.Problem:
Ich möchte, das Besucher der "normalen" Website automatisch auf die WebApp umgeleitet werden. Dazu habe ich in der "normalen" index.php folgendes im Head-Bereich eingefügt:
--------------------------------------------
<script type="text/javascript"
src="redirect.js"><script>
--------------------------------------------

Die redirect.js sieht so aus:
--------------------------------------------
// JavaScript

if((navigator.userAgent.match(/ipod|iphone|android|webos/i))){window.location="http://www.meinewebseite.de/iphone/index.html";}
--------------------------------------------

Statt der "normalen" Webseite oder der index.html der WebApp bleibt der Browser (Safari iPhone) dann jedoch nur weiss :-(

2.Problem:
Hier habe ich noch gar keinen Ansatz wie ich das lösen soll/kann: Wenn ein User die WebApp auf dem Smartfone aufruft und diese noch nicht als Icon auf dem Homescreen hat, dann soll zuerst ein Hinweis oder eine entsprechende Hinweisseite angezeigt werden mit der Bitte das auf dem Homescreen abzulegen (Wegen Vollbild etc.). Liegt die App schon auf dem Homescrenn soll der Hinweiss nicht mehr erscheinen.

Ich muss dazu sagen: Javascript ist absolut nicht mein Ding. Wenn ich da etwas benötige such ich bzw. verwende vorhandenes. In diesem Fall werde ich jedoch nicht fündig.

  1. if((navigator.userAgent.match(/ipod|iphone|android|webos/i))){window.location="http://www.meinewebseite.de/iphone/index.html";}

    Sieht erstmal in Ordnung aus.

    Statt der "normalen" Webseite oder der index.html der WebApp bleibt der Browser (Safari iPhone) dann jedoch nur weiss :-(

    Zeige uns mal die betreffende Seite.
    Ohne eine Testseite können wir auch nicht erraten, was das Problem sein könnte.

    Wenn ein User die WebApp auf dem Smartfone aufruft und diese noch nicht als Icon auf dem Homescreen hat, dann soll zuerst ein Hinweis oder eine entsprechende Hinweisseite angezeigt werden mit der Bitte das auf dem Homescreen abzulegen (Wegen Vollbild etc.).

    Safari kennt navigator.standalone.

    P.S. have ich durch googlen gefunden, dritter Hit.

    Mathias

    1. Hi,
      erstmal danke für die Antwort.
      Da ich ja nicht viel (eigentlich nichts) von Javascript verstehe werde ich mich vorab erst einmal in deine Links einlesen. Evtl. komme ich ja weiter. Soweit Danke!

      Nun aber zur Umleitung:

      Es gibt da also die URL http://www.jaap.de die soll ganz normal laufen. Wird sie jedoch via , z.B. iPhone, aufgerufen soll automatisch auf http://www.jaap.de/iphone/index.html umgeleitet werden.

      Ich habe das wie oben von mir angegeben eingebaut. Was nun paasiert ist folgendes:

      Hier hatte ich so einiges geschrieben und jetzt gelöscht.....Weil:

      Nun der Hammer: Während wir hier schreiben probier ich etwas rum und nun klappt es teilweise...Also die Umleitung klappt aber wenn umgeleitet wird, wird keine Hintergrundgrafik angezeigt. Beim direkten Aufruf jedoch schon. Geändert habe ich nur etwas in der iphone.css (den Namen des Backgroundimages)!!!!!!

      Sichtbarer Unterschied zwischen nicht funktionieren und jetzt:
      Beim Umleiten steht in der Adresszeile dann jaap.de und nach klick auf Impressum jaap.de/impress.html. Beim direkten Aufruf steht in der Adresszeile auch jeweils der "richtige "Pfad. Also z.B: jaap.de/iphone/impress.html.

      Bitte nicht auf die Seiteninhalte und das Aussehen achten. Mir geht es hier erst einmal um die grundsätzliche Funktion des ganzen. Ich will was lernen :-)

      Kai-Uwe

      1. Nachtrag:
        Die Prüfung ob die App auf dem Homescreen liegt habe ich auch hinbekommen.
        Ich habe in der Index.html folgendes hinzugefügt:

        <script>
        if (window.navigator.userAgent.indexOf('iPhone') != -1) {
        if (window.navigator.standalone == true) {initialize();
        }else{
        document.write('<p>Tap the + button and choose "Add to Home Screen"</p>');
        }
        }else{
        document.location.href = 'homescreen.html';
        }
        </script>

        Den Codeschnipsel habe ich mithilfe deiner Tipps hier gefunden (http://appcropolis.com/blog/running-iphone-webapps-from-the-home-screen-only/).
        Wofür der Teil
        document.location.href = 'please-open-from-an-iphone.html';
        gebraucht wird ist mir jedoch noch nicht ganz klar.

        Kai-Uwe