动态加载不同的EDGE合成

时间:2015-07-21 11:33:45

标签: javascript html adobe-edge

我正在尝试为边缘动画合成构建测试系统,因此我可以加载不同的合成并测试它们是否正确显示,更改其可自定义的字段等等。我尝试了Edge Commons的EC.loadComposition函数,但是我在从外部html传递composition-name时遇到了问题。 我有包含该字段的主要组合,其中将加载外部组合。我设法运行“Composition Loader”示例(http://edgedocks.com/content/2013/12/nesting-animate-compositions-composition-loader-edge-commons),但我很乐意让用户有机会从浏览器级别命名要加载的合成。

我想它与引导组合有一些共同之处,但我对html / JS / Edge还是比较新的,我无法按照自己的意愿使用它。

您知道任何解决方案或方向吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方法:

在Bootstrap回调中,我调用AdobeEdge.Symbol.bindElementAction()然后将加载函数绑定到符号,该符号用作按钮。通过这种方法,我可以使用JS或PHP来填充该函数的composition-name参数。

我的代码非常狭窄,因为我是从边缘生成的.js文件中复制它,但它看起来像这样:

AdobeEdge.bootstrapCallback(function(compId) {
    comp = AdobeEdge.getComposition(compId);
    AdobeEdge.Symbol.bindElementAction(compId, 'stage', "${Button1}", "click", function(sym,e){
var loadedComp=EC.loadComposition(document.getElementById('idCard').value ,sym.$("Content"));loadedComp.done(function(comp)
{ loadedStage=comp.getStage();});});});

很抱歉这个烂摊子,但是它包含了很多嵌套的定义,我无法将其格式化为好看;(

如果您找到更好的解决方法,请告诉我们!