2013-08-09 3 views
0

Я пытаюсь написать Applescript для textwrangler, который откроет активный документ в Chrome. Это то, что сценарий выглядит на данный момент:Открыть php-файл в браузере с помощью http: // localhost с applescript

tell application "TextWrangler" to set theFile to file of document 1 
tell application "Finder" to open theFile using (path to application "Google Chrome") 

Скажем, я Рабочим на файл с абсолютным путем «Applications/MAMP/WWW/index.php». Сценарий откроет этот файл в браузере как «файл: // localhost/Applications/MAMP/www/index.php», показывая код php.

Вместо этого мне нужен сценарий, который заменит «file: // localhost/Applications/MAMP /» на «http: // localhost /», показывающий фактический сайт.

Я пробовал кучу вещей, которые я нашел в Интернете, но у меня слишком мало опыта работы с Applescript для этого.

+0

У меня есть пробелы до локального хоста в порядке представить этот вопрос. – MacBryce

ответ

0

Как насчет этого, следуя примеру Chase и используя javascript для замены строки.

property delim : "MAMP" -- where to break the path and prepend localhost to 

tell application "TextWrangler" to set theFile to file of document 1 

tell application "Finder" to set p to the POSIX path of theFile -- convert it into a Unix path first 

tell application "Google Chrome" to execute front window's active tab javascript ("pth='" & p & "';window.open('http://localhost'+ pth.split('" & delim & "').pop());") 

Делает для трудно читать код с несколькими конкатенации языка и строки, ограничивающей, но он должен работать.

+0

Спасибо! Это то, что я искал. – MacBryce

0

Если вы хотите просто открыть этот URL, вы бы использовать что-то вроде этого:

tell application "Safari" 
    activate 
    do JavaScript "window.open('http:// localhost/')" in document 1 
end tell 

надежду, что помогает.

+0

Спасибо, но я ищу, чтобы в основном обрезать исходный путь (строка?), А затем добавить бит «http: // localhost /» в начало его. – MacBryce

+0

Можете ли вы просто добавить переменную со строкой в ​​ней и использовать &&, чтобы поместить ее в сообщение? – Chase

0

Вот несколько различных вариантов ..

Первый предполагает, что файл, который вы хотите открыть в корневой директории LOCALHOST. Сценарий инструктирует Safari открыть URL-адрес и добавить имя файла в путь.

При первом запуске этого вам может потребоваться санкционировать доступность Mac, позволяя Finder выполнить необходимые действия.

try 
    tell application "Finder" to set filePath to name of item 1 of (get selection) 
     set the clipboard to filePath 

     set localhost to "http://localhost/" 

     tell application "Safari" 
      activate 
      tell application "System Events" 
       tell process "Safari" 
        click menu item "New Tab" of menu "File" of menu bar 1 

       end tell 
      end tell 
      set theURL to localhost & filePath 
      set URL of document 1 to theURL 
     end tell 
    end tell 
end try 

Другим вариантом было бы, чтобы скопировать POSIX путь к выбранному файлу и открыть локальный путь в Safari ..

try 
    set filePath to {} 
    tell application "Finder" 
     repeat with objItem in (get selection) 
      set end of filePath to POSIX path of (objItem as text) 
     end repeat 
    end tell 

    set {strDelimeter, text item delimiters} to {text item delimiters, return} 
    set the clipboard to filePath as text 

    tell application "Safari" to open location filePath 

end try 

 Смежные вопросы

  • Нет связанных вопросов^_^