• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung

Automatisierte Wahl des User Agent in Safari nach Art der Internet-Verbindung

Normalnutzer

Erdapfel
Registriert
29.06.13
Beiträge
2
Liebe Forenmitglieder,

dies mein erster Beitrag in diesem Forum (Ich hoffe, ich habe alles richtig gemacht!):

Ich nutze mein Macbook oft um auch unterwegs die gängigen Nachrichtenseiten im Internet abzufragen. Die Internetverbindung stelle ich dabei über die "Mobile Hotspot" -Funktion meines iPhones her. Da die Verbindungsqualität häufig nicht sehr gut ist und ich darüber hinaus nur ein begrenztes Daten-Kontingent seitens meines Mobilfunkbetreibers zur Verfügung habe, wähle ich dazu in Safari als User Agent das iPhone-Profil aus, um jeweils die mobile Version der entsprechenden Webseiten angezeigt zu bekommen und so Datenvolumen zu sparen. Zu Hause nutze ich natürlich eine WLan-Verbindung und schalte dort den User Agent wieder auf die normale Ansicht.

Ich habe mich nun gefragt ob es nicht möglich ist, über ein Apple Script die Art der Internet-Verbindung abzufragen und Safari dann sofort mit dem jeweils bevorzugten User Agent Modus zu starten? Für eine Umsetzung fehlt mir aber leider das nötige Hintergrund-Wissen.

Vielen Dank vorab!
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Hi und herzlich Willkommen hier im Forum!

Hier mal ein Ansatz:

Code:
[COLOR=#000000][B]property[/B] [/COLOR][COLOR=#4F8F00]iPhoneSSID[/COLOR][COLOR=#000000] : "iPhone" [/COLOR][COLOR=#5E6161]--Hier SSID des iPhone Hotspot eintragen
[/COLOR][B]property[/B] [COLOR=#4f8f00]userAgent[/COLOR] : "Internet Explorer 8.0" [COLOR=#5e6161]--Hier den User Agent eintragen[/COLOR]
[B]property[/B] [COLOR=#4f8f00]oldSSID[/COLOR] : ""


[COLOR=#4F8F00][COLOR=#000000][B]if[/B] [/COLOR]networkHasChanged[COLOR=#000000]() [B]then[/B][/COLOR][/COLOR]
[COLOR=#4F8F00][COLOR=#000000]    [B]if[/B] [/COLOR]oldSSID[COLOR=#000000] = [/COLOR]iPhoneSSID[COLOR=#000000] [B]then[/B][/COLOR][/COLOR]
[COLOR=#4F8F00][COLOR=#000000]        [/COLOR]toggleUserAgent[COLOR=#000000]([/COLOR]userAgent[COLOR=#000000]) [/COLOR][COLOR=#5e6161]--User Agent wechseln[/COLOR][/COLOR]
    [B]else[/B]
[COLOR=#5E6161][COLOR=#000000]        [/COLOR][COLOR=#4f8f00]toggleUserAgent[/COLOR][COLOR=#000000](1) [/COLOR]--User Agent auf Standard setzen[/COLOR]
    [B]end[/B] [B]if[/B]
[B]end[/B] [B]if[/B]


[COLOR=#5E6161]--Handler:[/COLOR]


[COLOR=#4F8F00][COLOR=#000000][B]on[/B] [/COLOR]toggleUserAgent[COLOR=#000000]([/COLOR]myUserAgent[COLOR=#000000])[/COLOR][/COLOR]
    [B]tell[/B] [COLOR=#0433ff][I]application[/I][/COLOR] "Safari" [B]to[/B] [COLOR=#0433ff][B]activate[/B][/COLOR]
    [B]tell[/B] [COLOR=#0433ff][I]application[/I][/COLOR] "System Events"
        [B]tell[/B] [COLOR=#0433ff][I]process[/I][/COLOR] "Safari"
            [COLOR=#0433ff][B]click[/B][/COLOR] [B]of[/B] [COLOR=#0433ff][I]menu item[/I][/COLOR] [COLOR=#4f8f00]myUserAgent[/COLOR] [B]of[/B] [COLOR=#0433ff][I]menu[/I][/COLOR] "User Agent" [B]of[/B] [COLOR=#0433ff][I]menu item[/I][/COLOR] "User Agent" [B]of[/B] [COLOR=#0433ff][I]menu[/I][/COLOR] "Entwickler" [B]of[/B] [COLOR=#0433ff][I]menu bar[/I][/COLOR] 1
        [B]end[/B] [B]tell[/B]
    [B]end[/B] [B]tell[/B]
[COLOR=#4F8F00][COLOR=#000000][B]end[/B] [/COLOR]toggleUserAgent[/COLOR]


[COLOR=#4F8F00][COLOR=#000000][B]on[/B] [/COLOR]networkHasChanged[COLOR=#000000]()[/COLOR][/COLOR]
    [B]set[/B] [COLOR=#4f8f00]currentSSID[/COLOR] [B]to[/B] [COLOR=#012fbe][B]do shell script[/B][/COLOR] "airport --getinfo | grep -w 'SSID' | sed s/' *SSID: '//"
[COLOR=#4F8F00][COLOR=#000000]    [B]if[/B] [/COLOR]currentSSID[COLOR=#000000] ≠ [/COLOR]oldSSID[COLOR=#000000] [B]then[/B][/COLOR][/COLOR]
[COLOR=#4F8F00][COLOR=#000000]        [B]set[/B] [/COLOR]oldSSID[COLOR=#000000] [B]to[/B] [/COLOR]currentSSID[/COLOR]
        [B]return[/B] [COLOR=#5d3292]true[/COLOR]
    [B]else[/B]
        [B]return[/B] [COLOR=#5d3292]false[/COLOR]
    [B]end[/B] [B]if[/B]
[COLOR=#000000][B]end[/B] [/COLOR][COLOR=#4F8F00]networkHasChanged[/COLOR]

Das Skript prüft, ob sich die Netzwerk-SSID seit dem letzten mal Ausführen auf die SSID deines iPhones geändert hat. Ist das der Fall, dann wird der User Agent gewechselt. Dieses Skript könntest du nun als Programm speichern und regelmäßig laufen lassen. Dazu gibt es verschiedene Möglichkeiten, z.B. einen launchd-Job oder einen idle-Handler.

Viele Grüße,

Pill