Se webbsidors källkod i iPad/iPhone

Här ä nåt för kodnördar.

På iPad och iPhone med Apples webbläsare ”Safari” saknas möjligheten att se en webbsidas källkod eller HTML-kod (bildexempel ovan). För att göra det kan man skaffa en app som visar källkod, det finns några mer eller mindre bra sådana (sök t.ex. ”view source code” i App Store).

ELLER så kan man göra så här istället:

Bokmärk en valfri webbsida, vilken som helst.
Ändra/Redigera sedan det bokmärket enligt följande:

– Ändra bokmärkesrubriken till ”Visa källkoden” eller liknande.

– Ta bort webbadressen (under bokmärkesrubriken), och kopiera och klistra in följande javascriptkod (kolla så att även det avslutande semikolonet ; följer med):

javascript:(function()%7Bvar%20a=window.open(%22about:blank%22).document;a.write(%22%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3Ctitle%3ESource%20of%20%22+location.href+'%3C/title%3E%3Cmeta%20name=%22viewport%22%20content=%22width=device-width%22%20/%3E%3C/head%3E%3Cbody%3E%3C/body%3E%3C/html%3E');a.close();var%20b=a.body.appendChild(a.createElement(%22pre%22));b.style.overflow=%22auto%22;b.style.whiteSpace=%22pre-wrap%22;b.appendChild(a.createTextNode(document.documentElement.outerHTML))%7D)();

– Spara bokmärket (välj ”Klar” e.dyl).

Klart!

När man sedan vill se källkoden på en webbsida man besöker, så trycker man på bokmärket ”Visa källkoden” (eller vad man döpte det till). Då öppnas ett nytt fönster som visar den webbsidans källkod (html-kod).


Begränsning: taggen <DOCTYPE> visas inte. Men det gör den inte heller i flera av de appar som visar källkod.

Men <HTML> taggen visas, eftersom ovanstående är en något förbättrad javascriptkod än den äldre javascriptkod man kan hitta lite varstans på webben. (Den gamla visar varken html- eller doctype-taggen).


Den källkod som visas lär vara så som den ser ut i webbläsaren för tillfället. Dvs inte garanterat exakt som den är skriven i webbsidan som ligger på servern.


Testat med webbläsare Safari i iPad med operativsystemet iPadOS 13.

Startförsök: tio år gamla iPad 1 och iPad 2

Kollade om det gick att använda några gamla iPad surfplattor som legat på hyllan i uppåt tio år. Här är resultatet (kortare version finns längst ner).

iPad 2:

Tryckte in laddkontakten (30-pin) i iPaden, lirkade lite, inget hände, drog ut kontakten, släppte en droppe olja i kontakten, in med den igen. Ok.
När den laddat klart några timmar senare:
försökte surfa, många sajter gick inte att nå. Apples browser Safari visade meddelandet:
”Safari kan inte öppna sidan eftersom en säker anslutning till servern inte kunde upprättas”.
Det beror på att operativsystemet iOS 5 inte stöder dagens sajter med (TLS-) kryptering. (Dvs sajter som har https i sin url-adress, istället för http).

Uppgraderade iOS till 8.4.1, i iPads inställningar (behövde inte ansluta till dator och iTunes). Högre än till version 8 gick inte att uppgradera där.

Provade att surfa, men några enstaka sajter gick fortfarande inte att nå (pga kryptering).

Kopplade iPad till datorns usb och anslöt till Appleprogrammet iTunes. Då gick det att uppgradera iOS till version 9.3.5.

En del appar som användes tidigare funkar förstås inte längre.
Men det funkar att surfa.
Så man kan i alla fall använda denna iPad 2 som… just det: surfplatta.


iPad 1:

Med iPad 1 gick det inte lika bra.
Tryckte in laddkontakten (30-pin) i iPaden, den gick igång, Apple-loggan visades. MEN, efter tio sekunder startade den om… och efter tio sekunder startade den om igen… och så vidare. Dvs den hamnade i nån slags loop. Har testat med två iPad 1, båda loopar.

Provade några olika förslag på lösningar, t.ex. från Apples diskussionsforum:
discussions.apple.com/thread/6082856 (men det tycks gälla iPad 2).
Metoderna var t.ex. att låta den ladda (loopa) över natten (med original-laddaren). Försöka göra ”recovery” (med dator och iTunes). Placera plattan avstängd i frysen för att utnyttja temperaturspärren (som visade sej inte finnas i iPad 1). Avbryta loopen mha knapparna upprepade gånger i tio minuter så att batteriet laddas en aning.
Men ingen av de metoderna fick igång iPad 1.


RESULTAT:

– iPad 2 (köpt 2011):
går att använda för att surfa, efter uppgradering av iOS. Mejlen funkar också.

– iPad 1 (köpt 2010, strax efter Apples lansering av iPad):
gick inte att ladda.
Det är nog lika bra eftersom iPad 1 inte verkar klara högre iOS än version 5. Dvs då går det knappt att surfa, eftersom många sajter idag kräver stöd för en viss nivå av kryptering.

Strul med två-finger-zoom på webbsidor (iPad med os 13)

Följande strul är fixat (se lösning längre ner).

Felbeskrivning: när man försöker zooma in webbsidor med tvåfinger-zoom så ”släpper” zoomen när fingrarna lyfts från skärmen. (Samma kan hända vid zoom med 1-fingers-dubbeltryck). Gäller bara vissa webbsidor, på många sidor fungerar det utan problem.
– Ibland behöver man zooma 4-5 gånger innan den stannar kvar i zoomläge.
– Ibland fungerar det direkt.
När det väl har börjat fungera på en sida så går det att zooma in och ut upprepade gånger, så länge man inte öppnar sidan på nytt (eller öppnar en annan webbsida).

Även andra grejer var konstiga, några enstaka webbsidor kraschade några sekunder efter att sidan öppnats, samtidigt som meddelandet ”Zoom aktiverat” visades.


LÖSNING:

starta om iPad. (=klassisk lösning på diverse problem).
Dvs stäng av plattan helt, dvs tryck övre knapp tills skjutreglaget ”Dra för att stänga” visas, osv.

I fallet ovan så hade den inte varit helt avstängd på minst flera veckor (vilket vanligen inte ska ge några problem).


Det gällde surfplatta iPad med operativsystemet iPadOS version 13.3.1, och webbläsarna Apple Safari och Microsoft Edge (inga fler webbläsare användes).
Problemet verkade uppstå oftare på webbsidor som innehåller animerade bilder (t.ex. reklambannrar eller andra rörliga bilder).
Testsida: zws.se/go/test-zoom-anim.php.

Hur undvika mobilversioner av webbsidor?

Om man vill att webbsidor ska visas i skrivbordsversionen istället för mobilversionen när man surfar med iPad eller annan mobil enhet, hur gör man då?

Skrivbordsversionen av en webbsida
Mobilversionen av samma sida som övre bilden.

LÖSNING (ingen fullständig lösning):

– På en del webbplatser (som har mobilversioner av sina sidor) kan man trycka länk ”Skrivbordsversion”, ”Dator”, ”Desktop version” eller liknande för att visa skrivbordsversionen på en surfplatta eller mobil enhet.
Ofta ligger den länken längst ner på sidan eller undanstoppad i nån meny.

– I vissa webbläsare kan man välja typ av visning. Det funkar ofta, men inte alltid.

Exempel, iPad och webbläsare Safari:
i centrala inställningarna för iPad, välj Safari.
Tryck ”Begär webbversion”, och aktivera (sätt på) ”Alla webbplatser”.
(På engelska är det tydligare formulerat: ”Request Desktop Website”).

Exempel, iPad och webbläsare Edge:
i webbläsaren: ”Inställningar”, ”Avancerade inställningar”, ”Inställningar för webbplatsvisning”, välj ”Visa skrivbordsversion”.

Då visas ofta webbsidornas skrivbordsversioner. Men inte alltid, t.ex. på Google eller engelska Wikipedia:
en.wikipedia.org/wiki/Main_Page
Med Edge (iPad) visas den sidan just nu i mobilversionen trots ovanstående skrivbordsinställning. (För att testa detta bör man först rensa bort alla cookies i webbläsaren).


Vad webbläsarna Safari och Edge gör när man ställt in dom på att visa skrivbordsversion, är att ändra vissa uppgifter som webbläsaren skickar till webbplatsen när en webbsida öppnas. (Uppgifterna UserAgent och Platform). Webbläsaren ”låtsas” eller försöker fejka att enheten är en Mac skrivbordsdator istället för en iPad surfplatta. Men Edge lyckas inte övertyga alla webbplatser, se ovan.