Come posso associare i file URL a un browser specifico in Snow Leopard?


6

Fino a quando i file URL di Snow Leopard (file .webloc ottenuti quando si trascina un URL sul desktop) si aprivano con OmniWeb sul mio computer e alcuni URL erano configurati per aprirsi con Safari.

Dopo aver eseguito l'aggiornamento a Snow Leopard, tutti i file URL si aprono con "Finder" che procede quindi all'apertura del browser standard (OmniWeb). Ho provato a cambiare l'associazione, ma Snow Leopard insiste affinché questi file vengano aperti con OmniWeb tramite Finder.

Qualche idea su cosa posso fare per risolvere questo problema? Voglio che tutti i file webloc si aprano in OmniWeb tranne quelli specifici che dovrebbero aprirsi in Safari. L'avevo configurato in quel modo, ma a un certo punto Mac OS X ha deciso che quelli Safari dovrebbero aprirsi con Finder (che poi li apre con OmniWeb) e lo ignora solo quando provo a cambiare quella configurazione per file


1
Stai parlando di file .webloc o .htm o .html o .webarchive? "File URL" non chiarisce veramente di cosa stai parlando.
TJ Luoma,

Dal suo commento sulla risposta di Jack: è .webloc.
MattiSG,

Pensavo che un file .webloc fosse un file URL.
Andrew J. Brehm,

Risposte:


1

Per quanto ne so, non c'è modo di associare i file .webloc a un'applicazione specifica. La tua scommessa migliore sarebbe probabilmente usare un po 'di AppleScript.
Ho creato un piccolo script che ti consente di generare piccole piccole applicazioni AppleScript che si aprono nel browser che selezioni al momento della creazione (OmniWeb, Safari o Chrome).

Puoi scaricare lo script qui o compilarlo tu stesso dal codice qui sotto.

set theURL to text returned of (display dialog "What URL would you like to bookmark?" with title "Enter URL" default answer "http://")
set theApp to (choose from list {"OmniWeb", "Safari", "Chrome"} with prompt "Which application would you like to associate with the bookmark?" with title "Select Application") as string
set theName to text returned of (display dialog "What would you like to name the bookmark?" with title "Enter Name" default answer "")
set theFolder to choose folder with prompt "Where would you like to save the bookmark?"

if theApp is "OmniWeb" then
    set theScript to "tell application \"OmniWeb\"
    activate
    try
        set theTab to make new tab at end of front browser with properties {address:\"" & theURL & "\"}
        set active tab of front browser to theTab
    on error
        make new browser with properties {address:\"" & theURL & "\"}
    end try
end tell"
else if theApp is "Safari" then
    set theScript to "tell application \"Safari\"
    activate
    try
        set theTab to make new tab at end of tabs of front window
        set the URL of theTab to \"" & theURL & "\"
    on error
        make new document
        set theTab to tab 1 of front window
        set the URL of theTab to \"" & theURL & "\"
    end try
    set current tab of front window to theTab
end tell"
else if theApp is "Chrome" then
    set theScript to "tell application \"Google Chrome\"
    activate
    if (count of windows) = 0 then
        make new window
        set URL of tab 0 of front window to \"" & theURL & "\"
    else
        set URL of (make new tab at end of tabs of front window) to \"" & theURL & "\"
    end if
end tell"
end if

tell application "AppleScript Editor"
    set theDoc to make new document with data theScript
    save theDoc as "application" in ((theFolder as string) & theName & ".app")
end tell

L'esecuzione ti chiederà l'URL, il browser con cui vuoi aprirlo e la posizione in cui salvare il 'segnalibro'.

Puoi metterlo nella cartella Applicazioni o Script per un facile accesso e invocarlo ogni volta che vuoi salvare un URL.


1

Devi creare uno script di Automator con questi elementi: (e salvare come app)

  • RunShellScript -> open -a Firefox.app
  • Pausa (2 secondi)
  • RunShellScript -> open -a Firefox.app http://www.apple.com

1
Perché le due chiamate a open -a? Il secondo dovrebbe essere sufficiente.
Nohillside

0

Potresti voler leggere questo articolo su Macworld: http://www.macworld.com/article/142937/2009/09/snowfiles.html

Ma la carne della correzione dalla sezione Workaround è:

Fai clic tenendo premuto il tasto Ctrl sul file in questione, quindi tieni premuto il tasto Opzione, quindi seleziona Apri sempre con e scegli l'applicazione desiderata dall'elenco (potenzialmente enorme) di alternative. Dovrai farlo ogni volta che crei un nuovo file; non c'è modo di impostare l'applicazione di creazione come applicazione di apertura predefinita.

Sfortunatamente, sono su Windows al lavoro, quindi non posso confermare questa correzione. Ma sembra che sia la strada da percorrere.


Ciò riguarda solo i singoli file e non sembra funzionare in modo diverso dal riassociare tutti i file .webloc.
Lri,

Inoltre, nel mio caso il problema è che i file Webloc sono improvvisamente associati al Finder che li apre poi con OmniWeb (il mio browser predefinito).
Andrew J. Brehm,

1
Vuoi tutti i file webloc associati a OmniWeb, o solo quelli specifici (e altri aperti in Safari, o qualunque sia il tuo browser predefinito)?
Jack Brewster,

Voglio che tutti i file webloc si aprano in OmniWeb tranne quelli specifici che dovrebbero aprirsi in Safari. L'avevo configurato in quel modo, ma a un certo punto Mac OS X ha deciso che quelli Safari dovrebbero aprirsi con Finder (che poi li apre con OmniWeb) e lo ignora solo quando provo a cambiare quella configurazione per file.
Andrew J. Brehm,

Ho appena provato il trucco Ottieni informazioni su Lion Server e, indipendentemente da ciò che faccio, i file .webloc si aprono sempre con Safari. Ho provato a invertirlo, rendendo Chrome predefinito e impostando Safari sul singolo .webloc, ma hanno sempre aperto con Chrome. Oltre a usare "Apri con", non sembra esserci un modo per fare ciò che vuoi. Scusate.
Jack Brewster,

0

La soluzione che stai cercando non è semplice. Un'idea che mi è venuta in mente che ho pubblicato in: associa l'applicazione al file con nomi particolari (piuttosto che al suffisso) . Non sono uno sviluppatore Apple professionista, né ho familiarità con i dettagli complessi del sistema operativo. Ma come programmatore occasionale, penso che sarebbe una soluzione possibile.

Quanto sopra se si desidera continuare a utilizzare .weblocovviamente. Quello che vorrei fare è il seguente:

  1. Cambia l'estensione di quei particolari file di segnalibri che vuoi aprire con una particolare applicazione .url.
  2. Associa quelli al browser desiderato.

0

Come di MacOS 10.12 Sierra, .webloce .urlfile sia aperta nel browser predefinito. Possono essere aperti in un altro browser utilizzando il menu "Apri con", ma l'impostazione predefinita non può essere modificata per file o per estensione.

La soluzione che ho trovato è creare un'applicazione AppleScript:

  1. Apri l'applicazione Script Editor (il successore dell'app AppleScript)

  2. Incolla in questo codice:

    tell application "Safari" to open location "https://apple.stackexchange.com/"

    (Cambia l'URL con quello che ti serve)

  3. File | Salva con nome con Formato file impostato su "Script"

    • Questo è un file binario di applecript che riaprirà in Script Editor
    • Può essere modificato ed eseguito dall'editor, ma non può essere eseguito dal Finder
  4. File | Esporta con Formato file impostato su "Applicazione"

    • Questo è un pacchetto di applicazioni che verrà eseguito
    • Può essere eseguito dal Finder, ma non può essere aperto nell'editor

Questo approccio funziona per creare un "link" nel finder che si aprirà in Safari, ma presenta alcuni problemi:

  • Non è portatile (ho anche salvato un .urlfile)
  • Sono 2 (o 3) file in cui preferirei avere 1
  • La riapertura dello script (dal passaggio 3) nell'editor avvia anche Safari (senza aprire l'URL)

Nel mio caso - l'apertura di una vecchia applet Java aziendale che utilizza il browser come launcher - lascia Safari aperto a una pagina vuota inutile.

Sono sicuro che questo potrebbe essere fatto anche con uno script di shell, che potrebbe almeno ridurlo a solo 1 (o 2) file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.