2017-04-11 68 views
1

在BBEdit中有下Markup -> Check -> Document Links快捷CMD + 控制 + ķ,檢查所有鏈路的命令。當我看字典BBEdit > HTML Scripting -> check links下,它表明:在AppleScript和BBEdit中,如何檢查鏈接?

enter image description here

,但是當我嘗試腳本對一個項目用:

set theResult to check links of active document of project window 1 

我得到的item一個錯誤,當我嘗試檢查基於與文件名:

set foobar to (name of active document of project window 1) as string 
set theResult to check links of foobar 

我仍然得到同樣的錯誤,如果我嘗試:

set projectPath to file of project document 1 
set theResult to check links of projectPath 

我收到{}的退貨。與不加with show results認爲這只是一個問題,我把它改爲:

set theResult to check links of projectPath with show results 

,但我得到的activate

當我通過谷歌搜索,我無法找到,如果有可能的解決方案回報返回一個布爾值,當通過內容編寫腳本時,HTML文件中的鏈接有效。所以我的問題是,我怎麼能讓AppleScript告訴我鏈接在check links的BBEdit中有效?

+0

檢查鏈接檢查文件,該活動文檔不被視爲一個文件。你有沒有試過將它指向一個實際的文件來檢查它? – Chilly

+0

@Chilly是的,我已經嘗試過,並將編輯。 –

回答

1

要從活動文檔的文件檢查鏈接:

tell application "BBEdit" 
    set theFilePathOfFrontProject to file of text document 1 -- get the path of the selected file in the front project window 
    set theResult to (check links of theFilePathOfFrontProject) is {} 
    if theResult then 
     display dialog "All links appear to be valid" 
    else 
     display dialog "Some links appear to be not valid" 
    end if 
end tell 

信息:

set projectPath to file of project document 1,這個com mand返回項目的路徑(檢查此文件上的鏈接將始終返回一個空列表),路徑將爲file "fullpath:someName.bbprojectd",它不是項目中選定的HTML文件的路徑。

要獲得該項目的所有文件的路徑:set allFilePaths to project collections of project document 1 -- list of paths

+0

雅我結束了使用類似的東西,但它花了更多的線,但最終它是一個條件檢查,如果列表是空的,但加1解決方案 –

1

我相信這個工作上次我使用它,我在移動即將登機,所以語法可能已經嘟。。

set theFile to ((path to documents folder) as string) & "test.html" 
set theResult to check links of file theFile 

要使用系統事件按鍵,您可以使用單獨的指令塊,或創建一個像這樣的句柄。

on checkLinks() 
    tell application "System Events" 
     keystroke "k" using {command down, control down} 
    end tell 
end checkLinks 

然後調用處理程序照常

my checkLinks()