Getwist en Gezeur

Getwist en Gezeur header image 2

T-Mobile belstatus gadget – of hoe krijg ik een cookie op mijn iPhone

April 9th, 2009 · No Comments

t-Mobile had het leuke idee om hun belstatus gadget voor iGoogle (met je al verbruikte minuten en smsjes binnen je belquotum) om  te vormen naar iPhone web app – zie onderstaand filmpje voor de stappen om het op je telefoon te krijgen:

Zoals ze ook toegeven in de begeleidende blogpost:

“We realiseren ons dat het activeren van de iPhone web-app niet de meest gebruikersvriendelijke oplossing is. Echter, je hoeft het slechts 1 keer te doen en daarna niet meer. Kleine moeite voor informatie die jullie graag makkelijk willen kunnen inzien.”

imageDat één keer doen is iets te optimistisch :-) .  Af en toe gaat de applicatie down, waarna blijkbaar serverside de sessies worden gecleard en je dus opnieuw moet inloggen (om opnieuw een identificerend cookie op je iPhone te zetten): zie screenshot rechts of probeer het zelf.

image Vanavond lukte het me bovendien met de beste wil van de wereld niet meer om in te loggen: hoe vaak ik ook klikte op de login button op de home page, Safari op mijn iPhone wou geen login schermpje tonen1.

Inloggen met Firefox vanop de desktop lukte wel, wat me tot het volgende probleem bracht: hoe krijg ik nu een cookie vanop mijn desktop browser naar die iPhone?

Hier het stappenplan, ongetwijfeld toepasbaar in andere situaties waar je een surfsessie van je desktop naar je iPhone wil overbrengen (al kan ik er me nu eigenlijk geen voorstellen… :-) ):

  1. Ga het cookie uitlezen in Firefox
    Dus via Tools… Options… Privacy… Show Cookies.  Zoek bij de t-mobile.nl cookies en vind de waarde van “iphonesubscribercallstatusgadget_cookie” (bij “Content” in het screenshot). Selecteer en kopieer (alle 224 karakters).

     image

  2. Stuur jezelf een mail met de gadget link en een stukje javascript
    imageIn https://www.t-mobile.nl/Gadgets/IPhoneCallStatusGadget.aspx#javascript:document.cookie=%22iphonesubscribercallstatusgadget_cookie=XXXXX%22 vervang je “”XXX” door je net gekopieerde cookie-waarde.  Open nu deze link met Safari op je iPhone. We zitten nu op de juiste pagina, maar willen nog het stukje javascript:document.cookie=”key=value” op deze pagina laten uitvoeren.  Op een desktop browser kan je in zo’n situatie het javascript-fragment in de address bar van je browser copy-pasten… maar copy-pasten lukt niet op een iPhone.  Vandaar dat we het javascript al hebben meegestuurd in de url achter het “#”-teken.
  3. De omweg van de bookmarklet
    Het merkwaardige aan de iPhone-versie van Safari is dat als je nu in de address bar alles vóór “javascript”, dus het volledige adres inclusief spoorwegteken gaat weghalen en op “Ga” klikt, het resterend script toch niet wordt uitgevoerd (hij zet er opnieuw een http://www… voor)
    image 
    De truuk bestaat erin het script als bookmark(let) op te slaan en dan uit te voeren.  Dus:
    1. image Klik op de “+”, “Add Bookmark” en “Save”
    2. Ga terug naar je bookmarks via het boek-icoontje, “Edit”, selecteer “Belstatus”, haal alles weg voor “#”, “Return” en “Done”
    3. Klik de geëditeerde bookmark “Belstatus” aan
  4. Refresh de Belstatuspagina et voilà, je hebt de gebruikerssessie vanop je desktop gekaapt zonder hoeven in te loggen!
    image

Inspiratie voor het javascript-transport achter de anchor in een url kwam van Kent Brewster.

  1. ondertussen lukt het overigens opnieuw, geen idee of het aan mijn toestel of aan de site lag []

Tags: , , , , , , ,