1

I have many web projects that I develop on the localhost. Normally to get to these one has to navigate from the root directory or bookmark the url.

I want to be able to open an OS directory/folder in the default browser. So for example I right-click a 'project A' folder and choose 'open in browser' and go there directly. I would like to be able to specify the beginning of the url, so I can change file:/// to http://localhost/ or mymac.local/.

I am imagining this could be done with Applescript but I'm not experienced in that. Is there any way to achieve this?

2
  • Where is your web directory based? (/Users/username/Sites?) Commented Jul 15, 2012 at 0:24
  • I am not using the OSX Sites folder, I have been using MAMP & a folder with a path like /Users/username/-/work
    – MachineElf
    Commented Jul 15, 2012 at 9:10

2 Answers 2

0

You can add a right click item via Automator. Open Automator and copy this workflow:


When you save it, it will appear in your right click menu under Services:


I'm not completely sure what you mean by changing the URL protocol, but I should be able to modify this to accomplish what you want

2
  • Thanks so close! It's almost working, in Chrome it opens two windows not one, and Safari opens a blank window with an activity panel error saying 'frame load interrupted' - I think it's possibly security related? Can you possibly verify whether it's same for you?
    – MachineElf
    Commented Jul 15, 2012 at 9:08
  • Weird. I forgot to actually test it in Safari. Safari just doesn't load it at all and Chrome does load two pages for me. I didn't notice it. I'll have to mess around with it more...
    – daviesgeek
    Commented Jul 15, 2012 at 18:01
0

I think this Applescript saved as a service will do it:
(Set to "Service receives selected files or folders in Finder")

on run {input, parameters}
    set basePath to "users/username/folder/"
    set baseURL to "http://localhost"

    repeat with i in input
        tell application "Safari"
            if not (exists (document 1)) then
                --
                -- Safari is *Not* Opened, Call Open New Window Function, Go To Preferred Page
                -- and Activate Safari to Enable Scripting
                --
                tell application "Safari" to activate
                my open_new_window()
                --
                -- Set Safari Location to Preferred Page
                -- 
                set theFileName to POSIX path of i
                set thePath to text (length of basePath+1) thru -1 of theFileName
                set the URL of document 1 to baseURL & thePath
            else
                --
                -- Safari is Opened, Bring it To Front and Open New Tab w/Preferred Page
                --
                if (exists (URL of document 1)) then
                    my open_new_tab()
                end if
                --
                -- and Activate Safari to Enable Scripting
                --
                tell application "Safari" to activate
                --
                -- Set Safari Location to Preferred Page
                --
                set theFileName to POSIX path of i
                set thePath to text (length of basePath+1) thru -1 of theFileName
                set the URL of document 1 to baseURL & thePath
            end if
        end tell

    end repeat

    return input
end run

--
-- Open New Window Function
--
on open_new_window()
    tell application "Safari" to activate
    tell application "System Events"
        tell process "Safari"
            click menu item "New Window" of menu "File" of menu bar 1
        end tell
    end tell
end open_new_window

--
-- Open New Tab Function
--
on open_new_tab()
    tell application "Safari" to activate
    tell application "System Events"
        tell process "Safari"
            click menu item "New Tab" of menu "File" of menu bar 1
        end tell
    end tell
end open_new_tab

Cobbled together from a few sources!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .