2016-04-07 5 views
2

Ich muss ein eigenständiges HTML-Banner in Edge Animate erstellen. Dafür habe ich die Bilder bereits nach base24 kodiert. Ich muss nur das Javascript in diesen HTML-Code einfügen. Wenn ich mein Banner veröffentliche, fügt Edge standardmäßig einen 'edge_includes'-Ordner hinzu, der' edge.6.0.0.min.js 'und eine Javascript-Datei am selben Ort wie die HTML-Datei enthält, die aber genauso wie die HTML-Datei aufgerufen wird mit einer '_edge.js' Erweiterung. Wie zum Beispiel 'text_edge.js'. Beide .js-Dateien müssen in die veröffentlichte HTML-Datei verschoben werden.Edge Animate: Wie verschiebt man Javascript in HTML?

Die Datei 'edge.6.0.0.min.js' kann ich leicht genug bewegen, indem ich ihr Skript zwischen den Skript-Tags der HTML-Datei verschiebe, die diese .js-Datei erwähnt.

Die Datei test_edge.js ist jedoch schwieriger. Eine typische veröffentlichte HTML-Datei enthält diese unter anderem:

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

Dies ist - ich denke - wo Kantenlasten, dass ‚test_edge.js‘ Datei, durch ‚loadComposition‘. Aber wie kann ich den Inhalt dieser Datei test_edge.js in meine HTML-Datei kopieren? Ich kann "test" beispielsweise nicht durch den Inhalt von "test_edge.js" ersetzen. Gibt es eine andere Möglichkeit, den Inhalt dieser Datei in meine HTML-Datei zu laden? Indem Sie es zwischen Script-Tags beheben und loadComposition zum Laden dieses Skriptteils anstatt der externen test_edge.js-Datei machen?

Antwort

0

Es könnte seltsam sein, aber es sollte funktionieren, wenn Sie nur die js innerhalb der <script> Tags setzen. Der Header sollte wie folgt aussehen:

<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> 

Und auch nicht vergessen, die Klasse selbst im Inneren des <body> Teil erstellen

<div class="EDGE-102396420"></div> 
+0

Das ist nicht, was ich will, noch eine andere externe JS-Datei. Edge verwendet nun AdobeEdge.loadComposition ('test', ... um seine Datei test_edge.js zu laden, die Edge nach dem Publishing erstellt. Auch diese Datei möchte ich in meine HTML-Datei einbetten. Neben der Verwendung von base24 wünsche ich mir das auch Datei, die in meine HTML-Datei eingebettet werden soll Was ich möchte, ist eine einzige HTML-Datei, die alles enthält, die Basis24 für die Bilder, edge.6.0.0.min.js UND den test_edge.js Code – jiggy1965

+0

Bitte checken Sie aus , den Inhalt bearbeitet. Ich hoffe, das ist, was Sie wollen. – Klajbar

+0

Bereits versucht, dass, aber das funktioniert nicht. Die AdobeEdge.loadComposition sucht speziell nach der Datei test_edge.js, keine Inline-Inhalt. Die Datei, die es sucht, ist als Parameter erwähnt, aber ohne den '_edge.js' Teil. Das macht es schwierig. Irgendwie muss ich loadComposition laden den Inline-Inhalt von test_edge.js anstelle der externen Datei selbst. – jiggy1965

0

hatte ein ähnliches Problem auf die Integration js in eine html wollte, aber Ich konnte es nicht ohne ein paar Optimierungen in der Edge Runtime zum Laufen bringen, so dass es leider die cdn-Geschwindigkeit ruiniert, die Adobe Ihnen bietet. Aber ansonsten ist der Ansatz der Antwort von @Klajbar ähnlich. Wenn Sie eine Überprüfung innerhalb der Edge-Laufzeit zu gewährleisten die Kompatibilität mit anderen Dateien die erfordert Rand Laufzeit

Was ich tat, war eine Variable in loadComposition hinzufügen und dann kapseln Sie den Aufruf, der f.load (a + "_edge .js ") in einer if-Anweisung, um sicherzustellen, dass Läufe ohne die Variable ausgeführt werden, falls erforderlich. Auszug aus modifizierten edge.runtime.js Beispiel

//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"); 
    } 

Sobald das erledigt ist Sie den Code in das gleiche HTML enthalten kann, wo die Laufzeit zum ersten Mal geladen wird, dann loadComposition Block, dann dem _edge.js Code. Beispiel:

<!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> 

habe ich es nur zum Laden nur ein _edge.js und haben nicht getestet, wenn Sie mit der Vorbelastung Sachen wählen.

0

Setzen Sie einfach * _edge.js nach der Laufzeit js.
In Runtime js Suche nach Timeout-Funktion = 10 sek.
Ändern Sie dies auf 0 Sekunden, und Laufzeit startet Ihre animieren sofort laden.
Aber Sie werden immer noch Fehler laden * _edge.js in der Konsole. Es ist nicht so wichtig.

0

Geben Sie den absoluten Pfad des Ordners ein, in dem die Datei test_edge.js vorhanden ist.

Zum Beispiel test_edge.js Datei ist unter a/b/c Ordner dann

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