动态加载不同的EDGE组合

Loading different EDGE compositions dynamically

本文关键字:EDGE 组合 加载 动态      更新时间:2023-09-26

我正在尝试建立一个边缘动画组成的测试系统,所以我可以加载不同的组成和测试,如果他们正确显示,改变他们的自定义字段等。我尝试了Edge Commons的EC。loadComposition函数,但是我有一个从外部html传递composition-name的问题。我已经有了包含字段的主合成,外部的合成将被加载。我成功地运行了"组合加载器"的例子(http://edgedocks.com/content/2013/12/nesting-animate-compositions-composition-loader-edge-commons),但我想让用户有机会从浏览器级别命名要加载的组合。

我猜它会有一些共同的引导组合,但我是相当新的html/JS/Edge和我不能使它工作,因为我想。

你知道任何解决方案,或方向看?谢谢!

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

在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();});});});

很抱歉,但它包含了太多嵌套的定义,我无法格式化它以使其看起来更好;(

如果你找到更好的方法来解决这个问题,让我知道!