2013-07-16 43 views

回答

2

在After Effects中,您可以簡單地使用系統對象來執行此操作,如Dirk所述。然而,你需要爲幾件事情:

  • 檢查該腳本可以訪問網絡:

    var os = system.osName; 
    if (!os.length) 
    { 
        // I never remember which one is available, but I think $.os always is, you'll have to check 
        os = $.os; 
    } 
    app_os = (os.indexOf("Win") != -1) ? "Win" : "Mac" 
    
  • 操作系統相關的系統調用:

    if (app.preferences.getPrefAsLong("Main Pref Section", "Pref_SCRIPTING_FILE_NETWORK_SECURITY") != 1) 
    { 
        alert("Please tick the \"Allow Scripts to Write Files and Access Network\" checkbox if Preferences > General"); 
    
        // Then open Preferences > General to let people tick the checkbox 
        app.executeCommand(2359); 
    
        // Here you should check again if they ticked it, and choose to continue or stop ... 
    } 
    
  • 操作系統的檢查:

    var url = "http://aescripts.com"; 
    
    if (app_os == "Win") 
    { 
        system.callSystem("explorer " + url); 
    } 
    else 
    { 
        system.callSystem("open " + url); 
    } 
    
+1

請注意,在CC中,爲了檢查網絡的可訪問性,應該使用「Main Pref Section v2」,「Pref_SCRIPTING_FILE_NETWORK_SECURITY」。他們在字符串中加了'v2'。 – ariestav

0

你可以做你的本地計算機上的任何東西 - 命令行和其他任何一個VBS文件,你可以啓動從JavaScript這樣的VBS文件:

function RunScriptVBS(whatscriptname){ 
    app.doScript(File(whatscriptname), ScriptLanguage.VISUAL_BASIC); 
} 

這裏是你的vbs腳本:

Dim objShell 
Set objShell = CreateObject("WScript.shell") 
objShell.Run ("http://www.somewhere.com") 
set objShell = nothing 
+0

這個答案假設您正在使用InDesign或InCopy中 - 該app.doScript方法可以在其他ExtendScript對象模型中丟失。另一方面,在Bridge中有一個方法app.openUrl()。 – Dirk

+0

啊,你說得對。除了基本的Extendscript之外,OP沒有提及任何平臺,但這本身並不好。 – bgmCoder

1

一種獨立於應用程序的方式是將操作系統的URL表示寫入文件,然後執行()該文件。

在Mac上這將是一個.webloc文件。底層的格式是「的plist二進制」,如果你喜歡生成XML,通過拖放從瀏覽器地址創建一個示例webloc &下降,並將其轉換:

plutil -convert xml1 ~/Desktop/sample.webloc 

來調用webloc,運行ExtendScript

File("~/Desktop/sample.webloc").execute() 
+0

謝謝,所以我想沒有簡單的方法可以讓它獨立於平臺(OS X + Windows)並且無需創建文件就可以完成它了嗎? –

0

問題的範圍顯然已被提煉爲After Effects(AE),所以我添加了另一個特定於該應用程序的答案。

在我的機器上AE CS6不會生成ExtendScript Toolkit顯示的對象模型文件。請自己重試,對象模型查看器位於ESTK的幫助菜單中。

無論如何,ESTK數據瀏覽器確實有效。如果你瞄準AE,你會看到一些對象和類。最終在數據採集器面板彈出菜單中檢查更多菜單項。我深入瞭解了應用程序對象本身(沒有openUrl()),並且還找到了「系統」對象。展開,你會看到幾個有趣的方法。

以下腳本在Mac上打開URL。我沒有試過Windows,也許它是一樣的。

system.callSystem("open http://www.google.com") 

由於這是我第一次啓動AfterEffects,我可能錯過了更好的方法。

0

假設您有權訪問CSInterface。JS:

cep.util.openURLInDefaultBrowser("http://www.google.com")