Edge动画:如何将javascript移动到html中
Edge Animate: how to move javascript into html?
我需要在Edge Animate中创建一个独立的html横幅。为此,我已经将图像编码为base24。我只需要将javascript包含在html中。当我发布横幅时,Edge默认情况下会添加一个"Edge_includes"文件夹,其中包含"Edge.60.0.min.js"和一个与html文件位于同一位置的javascript文件,该文件与html文件调用相同,但扩展名为"_Edge.js"。例如"text_edge.js"。这两个.js文件都需要移动到已发布的html文件中。
"edge.6.0.0.min.js"文件我可以很容易地移动,只要在提到.js文件的html文件的脚本标记之间移动它的脚本。
然而,test_edge.js文件比较困难。一个典型的已发布html文件包含以下内容:
<script> AdobeEdge.loadComposition('test', 'EDGE-102396420', {
scaleToFit: "none",
centerStage: "none",
minW: "0px",
maxW: "undefined",
width: "300px",
height: "250px" }, {"dom":{}}, {"dom":{}});
</script>
我想,这就是Edge通过"loadComposition"加载"test_Edge.js"文件的地方。但是,我如何将test_edge.js文件的内容复制到我的html文件中呢?例如,我无法将"test"替换为"test_edge.js"的内容。有没有其他方法可以将该文件的内容加载到我的html文件中?例如,通过在脚本标记之间处理它,并使loadComposition加载脚本部分,而不是外部test_edge.js文件?
这可能很奇怪,但如果您只将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>
有一个类似的问题,想将js集成到一个html中,但我无法在边缘运行时本身进行一些调整,所以不幸的是,它会破坏adobe提供的cdn速度。但除此之外,该方法与@Klajbar给出的答案相似。如果您在边缘运行时内部进行检查,以确保与其他文件的兼容性,则需要边缘运行时
我所做的是在loadComposition中添加一个变量,然后将具有f.load(a+"_edge.js")的调用封装在if语句中,以确保is在没有变量的情况下运行(如果需要的话)。摘录自修改的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中,首先加载运行时,然后加载Composition块,然后加载_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,如果你选择包括预加载的东西,我还没有测试。
只需将*_edge.js放在运行时js之后
运行时js搜索超时函数=10秒。
将其更改为0秒,运行时将立即启动动画加载
但您仍然会在控制台中错误地加载*_edge.js。这并不那么重要。
放置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>
Adobe Edge在html文件中嵌入js
当您看到edge html文件时。有两个js和图像。这两个js都是外部调用的。一个是库,另一个是名为js-ex.(728x90_edge.js)的函数现在,当上传DFP类型自定义的所有文件时,您可以在这个js中使用728x90_edge.js和所有图像src的宏。然后介绍如何对图像使用宏。这是一个挑战。因此,您必须将这个js嵌入到html中。然后您将对图像使用宏。
按照步骤操作
1、下载liabrary js
-
删除liabrary中的下线(edge.60.0.min.js),在美化后搜索
-
"_edge.js?symbol="+
4.+"_edge.js"
-
保存并嵌入到html
(<script type="text/javascript" src="edge.6.0.0.min - Copy.js"></script>)
中 -
在loadComposition函数关闭
</script>
之后,从728x90_edge.js中剪切所有代码并嵌入到html中现在728x90_edge.js将为空,它仅用于加载。 -
使用AdobeEdge.loadComposition中文件的全名('728x90','EDGE-11479078'{例如AdobeEdge.loadComposition('728x90_edge.js','edge-11479078',{
-
现在上传所有文件html,图片和两个js文件。
-
现在您可以对两个js文件和图像使用macro。
-
它正在处理本地和DFP。
- 当#在iFrame中使用HTML时,阻止页面移动
- 移动HTML输入文本框在提交时隐藏软键盘
- 使用jquery为移动布局更改html层次结构
- 移动html/javascript编程中的变量传递
- html视频javascript播放方法在移动Safari中不起作用
- 录制/跟踪html滑块控制移动
- 当我移动引用three.js的html文件时,three.js停止工作
- 根据 URL 中的哈希移动 HTML
- HTML 不加载 CSS ,刷新后一切正常.同样在移动设备上,它在首次加载时不起作用
- 如何在 HTML 中将幻灯片移动到页面中心
- 移动HTML:触摸结束后继续滚动
- 可以使用jQuery'移动HTML背景吗;s设置动画
- 如何在不移动 html 中周围元素的情况下扩展图像
- 从移动 HTML 主体在方向更改时调用 Javascript 函数
- 使用 JavaScript 移动 html td 元素
- 有条件地移动html元素
- 在页面之间移动html
- DOM -如何移动HTML元素
- 移动html &点击img时,主体从上到上
- 在移动设备上使用javascript移动html的性能问题