Edge Animate:如何将javascript移动到html中?

时间:2016-04-07 10:10:13

标签: javascript html5 adobe-edge

我需要在Edge Animate中创建一个自包含的html横幅。为此,我已经将图像编码为base24。我只需要将javascript包含在该html中。当我发布我的横幅时,Edge默认添加一个'edge_includes'文件夹,其中包含'edge.6.0.0.min.js'和一个javascript文件,该文件位于与html文件相同的位置,该文​​件与html文件相同但是加上'_edge.js'。例如'text_edge.js'。两个.js文件都需要移动到已发布的html文件。

'edge.6.0.0.min.js'文件我可以通过在提到.js文件的html文件的脚本标记之间移动脚本来轻松移动。

然而,test_edge.js文件更难。典型的已发布html文件包含以下内容:

new DefaultMultipartHttpServletRequest() {

    @Override
    public HttpHeaders getMultipartHeaders(String paramOrFileName) {
        // your code here
    }
}

这是 - 我猜 - Edge通过'loadComposition'加载'test_edge.js'文件。但是,如何将test_edge.js文件的内容复制到我的html文件中呢?例如,我不能用'test_edge.js'的内容替换'test'。有没有其他方法将该文件的内容加载到我的html文件中?通过在脚本标记之间进行处理并使loadComposition加载脚本部分而不是外部test_edge.js文件,例如?

5 个答案:

答案 0 :(得分:0)

这可能很奇怪,但如果你只是将js放在<script>标签内,它应该可以工作。标题应如下所示:

<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
   <title>Untitled</title>
   <!--Adobe Edge Runtime-->
   <style>
       .edgeLoad-EDGEK-472634723 { visibility:hidden; }
   </style>
   <script>
      //Here goes the whole content from the test_edge.js
      //Just ctrl+C and ctrl+V everything from it
   </script>
   <script>
      //Here goes the whole content from the edge.6.0.0.min.js
      //Just ctrl+C and ctrl+V everything from it
   </script>
   <script>
      //Here goes the AdobeEdge.loadComposition stuff...
   </script>
</head>

并且不要忘记在<body>部分

中创建类本身
<div class="EDGE-102396420"></div>

答案 1 :(得分:0)

有一个类似的问题想要将js集成到一个html中,但我无法让它在边缘运行时本身进行一些调整,所以不幸的是它会破坏adobe给你的cdn速度。但其他方法与@Klajbar给出的答案类似。 如果在边缘运行时内部进行检查以确保与其他文件的兼容性,则需要边缘运行时

我所做的是在loadComposition中添加一个变量,然后在if语句中封装具有f.load(a +“_edge.js”)的调用,以确保在没有变量的情况下运行(如果需要)。 摘自修改后的edge.runtime.js示例

  //added inline as last variable
   loadComposition: function(a, b, c, g, m,inline) {
    function n(a, g) {
        W(function() {
            var m =
                d("." + b),
                k = /px|^0$/,
                n = c.scaleToFit,
                e = c.centerStage,
                h = c.minW,
                f = c.maxW,
                l = c.width,
                s = c.height,
                y = m[0] || document.getElementsByTagName("body")[0];
            "absolute" != y.style.position && "relative" != y.style.position && (y.style.position = "relative");
            s && (y.style.height = s);
            l && (y.style.width = l);
            /^height$|^width$|^both$/.test(n) && (h = k.test(h) ? parseInt(h, 10) : void 0, f = k.test(f) ? parseInt(f, 10) : void 0, v(d(y), n, h, f, !1, c.bScaleToParent));
            /^vertical$|^horizontal$|^both$/.test(e) && t(y, e);
            a && L(H[b], null, a.dom, a.style, m[0], g + b);
            m.removeClass("edgeLoad-" +
                b)
        })
    }

    /** removed some code here just for legibility **/

   //if statement to override loading js files
    if(!inline){
         ba ? (window.edge_authoring_mode || 
        (g ? (f.definePreloader(g), e()) : f.load(a + "_edgePreload.js", e)), a && (c && c.bootstrapLoading ? ka.push(a) : window.edge_authoring_mode && c.sym ? f.load(a +
        "_edge.js?symbol=" + c.sym) : f.load(a + "_edge.js"))) : window.edge_authoring_mode || 
        (m ? (f.defineDownLevelStage(m), h()) : f.load(a + "_edgePreload.js", h))
        f.load(a + "_edge.js");
    }

完成后,您可以将代码包含在相同的html中,首先加载运行时,然后加载loadComposition块,然后加载_edge.js代码。 例如:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
    <title>Untitled</title>

    <script>
        //modified edge.runtime.js file
    </script>


    <style>
        .edgeLoad-EDGE-24658395 { visibility:hidden; }
    </style>


<script>
   AdobeEdge.loadComposition('jem%26fix_afrens_930x180_uge14', 'EDGE-24658395', {
    scaleToFit: "none",
    centerStage: "none",
    minW: "0px",
    maxW: "undefined",
    width: "930px",
    height: "180px"
}, {"dom":{}}, {"style":{"${symbolSelector}":{"isStage":"true","rect":["undefined","undefined","960px","180px"]}},"dom":{}},true);
   //notice appeded boolean value as the end to enable the override.
</script>
<!--Adobe Edge Runtime End-->

    <script id="test">
    // contents of _edge.js file    
    </script>

</head>
<body style="margin:0;padding:0;">
    <div id="Stage" class="EDGE-24658395">
    </div>
</body>
</html>

我只是用它来加载一个_edge.js而没有测试你是否选择包含预加载的东西。

答案 2 :(得分:0)

在运行时js之后输入* _edge.js。
在运行时js搜索超时功能= 10秒。
将其更改为0秒,运行时将立即启动您的动画加载。
但是你仍然会在控制台中加载错误* _edge.js。它并不那么重要。

答案 3 :(得分:0)

放置test_edge.js文件所在文件夹的绝对路径。

例如 test_edge.js文件位于/ b / c文件夹下,然后

<script>    AdobeEdge.loadComposition('/a/b/c/test', 'EDGE-102396420', {
    scaleToFit: "none",
    centerStage: "none",
    minW: "0px",
    maxW: "undefined",
    width: "300px",
    height: "250px" }, {"dom":{}}, {"dom":{}}); 
</script>

答案 4 :(得分:0)

Adob​​e Edge在html文件中嵌入js

当您看到边缘html文件时。有两个js和图片。 两种js都从外部调用。一个是库,第二个是称为js ex的函数。(728x90_edge.js) 现在,当以DFP广告管理系统类型自定义上传所有文件时,则可将宏用于728x90_edge.js和此js中的所有图片src。 然后如何使用宏的图像。那是挑战。 因此,您将不得不将此js嵌入html中。那么您将对图像使用宏。

按照步骤进行。

1,下载图书馆js

  1. 在图书馆(edge.6.0.0.min.js)的行下删除,美化后搜索

  2. “ _ edge.js?symbol =” +

4. +“ _edge.js”

  1. 保存并嵌入html (<script type="text/javascript" src="edge.6.0.0.min - Copy.js"></script>)

  2. 在loadComposition函数关闭</script>结束后,从728x90_edge.js中剪切所有代码并嵌入html中 现在728x90_edge.js将为空,仅用于加载。

  3. 使用AdobeEdge.loadComposition('728x90','EDGE-11479078',{ 例如AdobeEdge.loadComposition('728x90_edge.js','EDGE-11479078',{

  4. 现在上传所有文件html,图像和两个js文件。

  5. 现在您可以对两个js文件和图像使用宏。

  6. 它适用于本地和DFP广告管理系统。