"Zum Homescreen hinzufügen" auf mobiler Website

  • I feel you. Leider gibt's keine Garsntie, dieses Popover zu bekommen, selbst wenn man alles richtig macht.


    In deinem Fall kann's schon daran liegen, dass er's dir nicht mehr anzeigt, weil du's beim ersten Mal weggeklickt oder ignoriert hast.


    Das "Zum Homescreen hinzufügen" gibt's zum Glück aber ja auch im Browsermenu. D.h. jeder, der das will, kann es jederzeit händisch tun.

  • Jetzt hab ich noch ne Frage, vielleicht hast du dazu noch eine Idee.


    Ich wollte auch noch so einen Share-Button einbauen, und dazu die praktische und (anscheinend) simple javascript-Methode von Google verwenden:

    https://developers.google.com/…avigator-share#case_study

    Da wird nämlich auf das Browsereigene Share-Menü zugegriffen, was dann auch Elemente wie WhatsApp, etc. enthält. Das ist viel super praktisch.


    Ich hab brav nen button gebaut, der bei onclick="shareMe()" folgendes tut:

    Das Javascript an sich geht, weils mir am Desktop brav die Alertbox zeigt. Am Handy wird es aber völlig ignoriert.


    Auch wenn ich den ganzen "if (navigator.share)"-Teil mit irgendwas einfachem befülle (z.B. mit document.getElementById("demo").innerHTML irgendeinen Text auf der Webseite einblenden), tut sich nix.


    Hab das "onclick" schon durch "onmouseover" und "touchstart" ersetzt, was mein Handy auch völlig kalt läßt. Was mach ich da bitte falsch? Ein anderes Javascript mit "onmouseover" funktioniert einwandfrei :-?

  • Ich bin eh sicher es liegt an meinem dreckscode :-)

    W3C validation spuckt mir nen haufen Fehler aus. Und auch mein Javascript ist nur zusammen ge-copy-pasted, und somit sicher fehlerhaft.

    Hab am Handy mobile Chrome 74, Seite ist https .. das sollte also passen.

  • So, der Share-Button geht jetzt. Hab das Javascript ans Ende der index.php gehängt, und von dort aus funktionierts (vorher wars im header, und da gings nicht. Ansonsten unverändert :-?)


    Ich geb aber mit der "Zum Homescreen hinzufügen"-Sache noch nicht auf. Da gibts eine manifest.json, in der muss die start_url definiert sein.

    Meine start_url soll jetzt aber individuell immer der aktuellen Url entsprechen. In allen FAQs zum thema manifest.json steht aber immer "die Start-Url sollte die Hauptseite sein, und keine landing page; deshalb trag dort /index.html ein". Genau das will ich aber NICHT. Ich will eben immer die aktuelle landing page als start_url! Leider kann ich in der manifest.json keine php-Variablen nutzen.


    Gibts da vielleicht ne andere Lösung? Vielleicht mit Javascript? So in der Art:

    "start_url": window.location.href

  • Das wird so nicht funktionieren. So ein Icon zum Home Screen hinzuzufügen, bedeutet, dass beim Klick immer nur der Startscreen der (Progressive Web) App geladen werden darf.


    Was du willst, ist, quasi einzelne Datensätze innerhalb der Seite durch Deeplinks direkt aufrufbar zu machen.


    Das wäre dann aber schon ein Fall für eine native App, wo man sich bspw. aus der Kontakte-App einzelne Kontakte direkt auf den Homescreen packen kann als Widgets.


    Dafür sind PWA aber nicht gemacht und gedacht. Die sollen fungieren wie normale App Icons, die auch den Startscreen einer App laden.


    Dass eine Liste direkt geladen wird nach dem Start, müsstest du innerhalb deiner Seite regeln. Bspw. die Listen-ID im localStorage des Browsers speichern, worauf dann auch die PWA Zugriff hat, und anhand dessen zur Liste weiterleiten.

  • :-(

    dann muss ichs lassen. Local storage wäre ja kontraproduktiv, weils ja darum geht, dass die Einkaufsliste online liegt, und jeder der den link kennt was hinzufügen/rauslöschen kann.

    Somit brauchts keine logins. Alles schön simpel.


    Tja, dann kein Homescreen-Icon .. zumindest geht ja jetzt der share-Button :-)