使用ExtendScript在After Effects中打开网页

时间:2013-07-16 00:03:55

标签: extendscript after-effects

这可能很简单,但我无法弄清楚。如何在extendbook中打开一个网页,就像我在Javascript中使用window.open()一样?

我的目标是After Effects,并希望它能同时适用于OS X和Windows。

4 个答案:

答案 0 :(得分:2)

在After Effects中,你可以简单地使用系统对象来完成它,就像Dirk提到的那样。但是你需要做几件事:

  • 检查脚本是否可以访问网络:

    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 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"
    
  • os依赖系统调用:

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

答案 1 :(得分:1)

一种独立于应用程序的方法是将操作系统的URL表示写入文件,然后执行()文件。

在Mac上将是.webloc文件。底层格式为“plist binary”,如果您更喜欢生成xml,请通过拖放浏览器地址创建一个示例webloc并将其转换为:

plutil -convert xml1 ~/Desktop/sample.webloc

要调用该webloc,请运行ExtendScript

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

答案 2 :(得分: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

答案 3 :(得分:0)

问题的范围显然已经改进为After Effects(AE),因此我添加了另一个特定于该应用程序的答案。

在我的机器上AE CS6不会生成由ExtendScript Toolkit显示的对象模型文件。请自行重试,对象模型查看器位于ESTK的帮助菜单中。

无论如何,ESTK数据浏览器确实有效。如果你以AE为目标,你会看到几个对象和类。最后在数据库面板弹出菜单中检查更多菜单项。我深入研究了app对象本身(没有openUrl()),还找到了一个“系统”对象。展开它,你会看到几个有趣的方法。

以下脚本在Mac上打开一个URL。我没有试过Windows,也许它甚至都是一样的。

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

由于这是我第一次推出AfterEffects,我可能错过了更好的方法。