- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先我必须说我不是专业的程序员,而是边做边学的设计师。所以恐怕我需要尽可能简单的解释。我在特定脚本的帮助下使用 Edge animate 作为网站的一部分(Andrew Trice,参见此处:http://www.tricedesigns.com/2012/07/12/using-adobe-edge-animations-as-components/)。我还成功地在我的 libs 文件夹中仅存储了 1 个 Edge preload.js 文件。在其中我在最后引入了一个变量,以便能够一个接一个地加载 Edge 动画。代码:
function setupAnimationView( template ) {
var $workPage = $("#workPage")
$workPage.empty();
window.AdobeEdge = undefined;
AdobeEdge = undefined;
var viewModel = { workChart: workChart };
var html = Mustache.to_html(template, viewModel)
$workPage.append( html );
//detect if edge is loaded yet
var edgeDetectionFunction = function() {
if ( AdobeEdge && AdobeEdge.compositions != undefined ) {
//put a delay here
var hasComposition = false;
if ( AdobeEdge.compositions ) {
//loop to see if the composition is actually loaded
for ( var key in AdobeEdge.compositionDefns ) {
hasComposition = true;
break;
}
}
if ( hasComposition ) {
setTimeout( function() {
$(window).trigger( "animationReady" ); }, 100 );
return;
}
}
else if ( AdobeEdge ) {
window.onDocLoaded();
}
setTimeout( edgeDetectionFunction, 100 );
}
edgeDetectionFunction();
修改后的 Adobe Edge preload.js:
...
requiresSVG=false;
doDelayLoad=false;
htFallbacks={
};
aLoader = [
{ load: "libs/jquery-1.10.2.min.js"},
{ load: "libs/jquery.easing.1.3.js"},
{ load: "libs/jquery.rotate.js"},
{ load: "libs/edge.1.0.0.min.js"},
{test: !hasJSON, yep:"libs/json2_min.js"},
{ load: "templates/Chart_" + workChart + "/Page_work_edge.js"},
{ load: "templates/Chart_" + workChart + "/Page_work_edgeActions.js"}];
loadResources(aLoader, doDelayLoad);
preContent={dom:[
]}
;//simpleContent
dlContent={dom: [
]}
;//simpleContent
//updated paths for loader
//added this so it can be invoked later
window.onDocLoaded = onDocLoaded;
})( "animation_content");
到目前为止,感谢 Andrew,一切都工作得很好,除了我在我的开发者工具 (Safari) 中看到我的代码导致每次加载基本的 js 文件,如 jquery-1.10.2.min.js 一遍又一遍新的动画开始运行,这些文件加起来是无穷无尽的……我想这不是一件好事。我什至理解为什么(至少我相信)所以我在预加载结束时删除了 aLoader 对象中的相应行。 (当然它们是在我的索引页面的脚本标签中加载的)
aLoader = [
{ load: "libs/jquery-1.10.2.min.js"}, // deleted this one
{ load: "libs/jquery.easing.1.3.js"}, // deleted this one
{ load: "libs/jquery.rotate.js"}, // deleted this one
{ load: "libs/edge.1.0.0.min.js"}, // deleted this one
{test: !hasJSON, yep:"libs/json2_min.js"},
{ load: "templates/Chart_" + workChart + "/Page_work_edge.js"},
{ load: "templates/Chart_" + workChart + "/Page_work_edgeActions.js"}];
因为我不明白为什么需要多次加载它们。然而,这样做之后只有第一个动画运行,第二个不再运行。但为什么?我在浏览器中查看并看到 jquery-1.10.2.min.js 在页面中,那么为什么 Edge 文件不能(或似乎不能)使用它了?其他的也一样(旋转等)。我还试图从上面的函数中抑制这两行:
window.AdobeEdge = undefined;
AdobeEdge = undefined;
虽然没有任何结果。避免重新加载那些基本需要的 .js 文件的技巧在哪里?有任何想法吗?非常感谢你的建议加拉瓦尼
@杰米
编辑:所以,你好杰米!我对您的解决方案非常好奇,以至于我放弃了其他所有东西并尝试了它。遗憾的是,在我试图在此编辑上方的行中尽可能准确地解释的情况下,它不起作用。为了避免这里的任何误解,我按照您的说明更改了代码(顺便说一句,非常好的解释!):
edgePreload.js(在我的版本中,它没有添加文件名,位于我的“lib”文件夹中,在安德鲁的方法之后每个新动画都会访问该文件夹 - 见上文!):
window.AdobeEdge = window.AdobeEdge || {};
window.AdobeEdge.$_ = $;
// Include yepnope
if(!AdobeEdge.yepnope) {…
然后进一步:
$(function() { // your insert opening function
(function(compId){
var htFallbacks; …
…
window.onDocLoaded = onDocLoaded;
})( "animation_content");
}); // your insert closure
我的 index.html 包含以下脚本(以及其他脚本):
<script src="libs/jquery-1.11.0.min.js"></script>
<script src="libs/jquery.easing.1.3.js"></script>
<script src="libs/jquery.rotate.js"></script>
<script src="libs/edge.1.0.0.min.js"></script>
<script src="libs/mustache.js"></script>
<script src="libs/mustacheHelper.js"></script>
我喜欢将其托管在我的服务器上。 (避免出现不受我控制的版本更新带来的各种麻烦)
现在我敢于并希望能够从我的 aLoader 箭头中取消那些东西,如下所示:
aLoader = [
// { load: "libs/jquery-1.11.0.min.js"},
// { load: "libs/jquery.easing.1.3.js"},
// { load: "libs/jquery.rotate.js"},
// { load: "libs/edge.1.0.0.min.js"},
{test: !hasJSON, yep:"libs/json2_min.js"},
{ load: "templates/Chart_" + workChart + "/Page_work_edge.js"},
{ load: "templates/Chart_" + workChart + "/Page_work_edgeActions.js"}];
但是 id t 不起作用(明显是因为缺少边码而抛出各种错误)。当我再次替换 aLoader 中的所有内容时,至少它可以正常工作而不会显示有关新插入行的错误。但是我没有结果。然而,太酷了!我错过了什么?您真的彻底检查了我在上面最初几行中所做的事情吗?
我很想听听您的想法!到目前为止,感谢您的兴趣并愿意分享您对这种复杂边缘 Material 的了解(讨论不多 - 我猜有充分的理由 - 在堆栈溢出中)。
最佳答案
我一直遇到确切的问题,你现在可能已经解决了,但希望它能帮助其他人。
1) 确保通过在发布设置中选择“HTML”并发布到一个干净的文件夹来获取文件。
2) 使用美化工具(例如 http://jsbeautifier.org/
)制作 [filename]_edgePreload.js
文件可读。
3) 添加这一行 window.AdobeEdge.$_ = $;
就在顶线下方 window.AdobeEdge = window.AdobeEdge || {};
4) 找到这一行 (function(compId) {
(这是加载方法的开始)并用 $(function() {
包装整个方法(此处和页面底部之间的所有内容)和 });
5) 在 aLoader
中数组,删除指定如何加载 edge 和 jquery 的前两个条目。
6) 将边缘库(当前为 https://animate.adobe.com/runtime/4.0.1/edge.4.0.1.min.js
)与 jQuery 一起添加到站点的头部。
不要觉得这很困惑,Adobe Edge 输出代码是由长腿白菜编写的。每个人都为此而苦苦挣扎:)
关于javascript - 防止 Adobe Edge preload.js 文件加载 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20797669/
我想通过注册表更改 Edge 浏览器中的主页,但它是加密的,我在注册表中看到( protected - 修改违反 Windows 策略。请参阅 aka.ms/browserpolicy)。请帮助我在注
如果我开发一个网站,它是否会以相同的方式在 IE11、Chrome、Firefox 和 edge 上运行,还是我们需要专门为 IE11 编写代码?我没有 Windows 8,因此无法在边缘浏览器上测试
如果我开发一个网站,它是否会以相同的方式在 IE11、Chrome、Firefox 和 edge 上运行,还是我们需要专门为 IE11 编写代码?我没有 Windows 8,因此无法在边缘浏览器上测试
如果 Edge 在某些机器上发生崩溃,我们需要检查日志以了解发生了什么情况。 最佳答案 Microsoft Edge 实际上是一个 Windows 进程,因此您应该能够在事件查看器中查看日志。此外,您
我们公司已将 Chrome 扩展程序移植到 Edge。扩展工作正常,但弹出窗口本身有很多重要内容。如果您在扩展设置中切换“地址栏旁边的显示按钮”,边缘扩展似乎只显示弹出按钮。这通常是一种糟糕的用户体验
我正在尝试在 Microsoft Edge 中调试崩溃的应用程序,但它提供了友好的错误页面: This page is having a problem loading We tried to loa
经过长时间的研究,我创建了我的最佳电子书 (Epub) 阅读器。作为主要设备,我基本上使用 Windows 10 平板电脑和 Microsoft Edge 作为 (Epub) 阅读器。 这是伟大的和惊
如何使用注册表或命令行获取 Microsoft Edge 浏览器版本? 我不想从 UI 中获取它。 最佳答案 对于 Microsoft Edge Legacy ,您可以使用 Get-AppxPacka
是否有可靠的编程方式来确定 Microsoft Edge 是默认浏览器? 我知道一种选择是使用 IApplicationAssociationRegistration::QueryCurrentDef
当人们在 Edge 中浏览网站时,很高兴看到“阅读 View ”按钮已启用。想要了解一个页面如何适合阅读模式。这将有助于开发人员在开发网站时牢记阅读模式。 最佳答案 答案来自 Microsoft Ed
我们在三周前向申请表提交了 Microsoft Edge 扩展:https://aka.ms/extension-request . 我们还没有收到任何反馈,在开发者仪表板中提交扩展包时,我们收到以下
我可以运行 code 从 WSL2 内部启动 VSCode。 我将如何启动 Edge(当前基于 Chromium 的 Edge)? 我试过了: ~/Code/company/workshops-web
最新版本的 Microsoft Edge 浏览器 (41.162...) 在单击后退和前进按钮时请求新页面。我在多个平台上测试了多个浏览器,只有 Edge 表现出这种行为。 这是一个 test pag
我在 Windows 1803 版本 17134.376 中使用 Microsoft Edge。 我有一个在 IIS 中本地运行的 ASP.NET Core 网站。该网站在 Edge 中可以正常打开,
Edge on Desktop 未加载谷歌字体。事实上,它甚至没有使用被定义为回退的“sans-serif”。 此行为不会在 Mobile Edge 中复制。 How it should look l
iotedge logs 暴露的日志在哪里?命令存储? 通常在 Linux 上会在哪里? 最佳答案 只需执行 docker inspect 及以下 LogPath您将获得容器的当前位置。例如。对于
我正在尝试将 Polymer 2 组件集成到现有的 SPA([ab] 使用 JSF 构建)。只要我的 POC 在 Chrome 中运行,我的基础知识就可以正常工作,我真的不在乎它是在 Shadow 还
我们的大型单页 JavaScript 应用程序在 Edge 浏览器中根本无法运行。 (我们在 Chrome 和 Firefox 中正式支持它,我们不允许在 IE 中使用它,因为它只能在那里工作一半,我
Microsoft Edge 16 中存在错误(已多次报告并在此处确认:https://developer.microsoft.com/en-us/microsoft-edge/platform/is
Microsoft Edge 16 中存在错误(已多次报告并在此处确认:https://developer.microsoft.com/en-us/microsoft-edge/platform/is
我是一名优秀的程序员,十分优秀!