Apps hindern, Seiten im Browser zu öffnen?

4

404

Aktives Mitglied
Thread Starter
Dabei seit
20.02.2015
Beiträge
241
Reaktionspunkte
10
Hallo.

Ist es möglich, Apps daran zu hindern, Links/Seiten im Standardbrowser zu öffnen?
Also wenn man in einer App auf einen Knopf klickt oder eine Einstellung und plötzlich öffnet sich der (Srandard-)Browser und öffnet irgendeine Seite... das möchte ich verhindern. Entweder komplett oder (noch besser) wenn ich eine Nachfrage erhalte, ob die App die Seite XY im Browser öffnen darf.
Geht das?
Danke.
 
Keine direkte lösung... aber zwei ideen/ansätze..

Man müsste einen "Internetbrowser" entwickeln, der als Standardbrowser eingetragen ist, aber nichts weiter zu tun hat als links auf die installierten browser zu verteilen (öffnen mit), oder eben zu blocken...

Man könnte auch die http:// verknüpfung aufheben.

vermutlich denke ich aber zu kompliziert...

edit:
... oder auch nicht: Choosy - A smarter default browser for Mac OS X
 
  • Gefällt mir
Reaktionen: 404
Vielen Dank für den Hinweis. Werde ich gerne mal testen. Wird das denn noch aktiv weiterentwickelt (Choosy Forum)? BTW wie wissen die Mac-Profis abgesehen vom Selbstversuch eigentlich, ob der Entwickler einer App vertrauenswürdig ist?

Eine Idee: Könnte man evtl. ein Appleskript (als app) als Standard-Browser registrieren, das sich dazwischenschaltet und die Links ggf. weiterleitet?
 
Bei mir meldet sich Little Snitch, wenn eine App versucht eine wie auch immer geartete Verbindung aufzubauen. Man kann Regeln festlegen welche App darf und welche nicht.
 
naja, LS ist vermutlich eher ungeeignet.
du müsstest dann ja den browser selbst blockieren...

Das problem, dass sich dann ein Browserfenster öffnet hast du trotzdem - Nur der inhalt wird eben nicht geladen.

Das kann man ggf. auch kostenlos mit einem Eintrag in der "Hosts" datei lösen.
 
Browser Fairy aus dem MAS funktioniert (wahrscheinlich) so ähnlich wie Choosy (das wohl eher nicht mehr weiterentwickelt wird).

Eine Idee: Könnte man evtl. ein Appleskript (als app) als Standard-Browser registrieren, das sich dazwischenschaltet und die Links ggf. weiterleitet?

Das sollte funktionieren. Ein Skript für Firefox könnte z.B. so aussehen:

Code:
on open location this_URL
   beep -- für + Aufmerksamkeit :)
   set decision to (display dialog "Folgende Webseite in FIREFOX öffnen?" & return & return & this_URL with icon 0 buttons {"Abbrechen", "OK"} default button 1)
   set theButtonName to the button returned of decision
   if theButtonName is "OK" then
     tell application "Firefox" to open location this_URL
   end if
end open location

Als App speichern, mit Rechtsklick auf die App Paketinhalt anzeigen, info.plist bearbeiten bzw. ersetzen durch sowas in dieser Art hier:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>CFBundleAllowMixedLocalizations</key>
   <true/>
   <key>CFBundleDevelopmentRegion</key>
   <string>English</string>
   <key>CFBundleDocumentTypes</key>
   <array>
     <dict>
       <key>CFBundleTypeExtensions</key>
       <array>
         <string>html</string>
         <string>htm</string>
         <string>shtml</string>
         <string>xhtml</string>
         <string>shtm</string>
         <string>xhtm</string>
       </array>
       <key>CFBundleTypeName</key>
       <string>HTML Document</string>
       <key>CFBundleTypeOSTypes</key>
       <array>
         <string>HTML</string>
       </array>
       <key>CFBundleTypeRole</key>
       <string>Viewer</string>
     </dict>
   </array>
   <key>CFBundleExecutable</key>
   <string>applet</string>
   <key>CFBundleIconFile</key>
   <string>applet.icns</string>
   <key>CFBundleIdentifier</key>
   <string>com.myapps.intercept</string>
   <key>CFBundleInfoDictionaryVersion</key>
   <string>6.0</string>
   <key>CFBundleName</key>
   <string>Intercept</string>
   <key>CFBundlePackageType</key>
   <string>APPL</string>
   <key>CFBundleShortVersionString</key>
   <string>1.0</string>
   <key>CFBundleSignature</key>
   <string>dplt</string>
   <key>CFBundleURLTypes</key>
   <array>
     <dict>
       <key>CFBundleURLName</key>
       <string>HTTP URL</string>
       <key>CFBundleURLSchemes</key>
       <array>
         <string>http</string>
       </array>
     </dict>
     <dict>
       <key>CFBundleURLName</key>
       <string>Secure HTTP URL</string>
       <key>CFBundleURLSchemes</key>
       <array>
         <string>https</string>
       </array>
     </dict>
   </array>
   <key>CFBundleVersion</key>
   <string>1.0</string>
   <key>LSUIElement</key>
   <string>1</string>
   <key>NSMainNibFile</key>
   <string>MainMenu</string>
   <key>NSPrincipalClass</key>
   <string>NSApplication</string>
</dict>
</plist>

Kannst ggf. noch applet.icns durch eigenes Icon ersetzen.
Zum Schluss noch in den Systemeinstellungen unter Allgemein diese App als Standard-Webbrowser auswählen.
Dann sollten eigentlich alle Aufforderungen, URLs zu öffnen, von anderen Apps (inkl. Mail) durch diese App geroutet werden. Probiers mal aus.
 
Zurück
Oben Unten