问题标签 [load-order]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
98839 浏览

javascript - 等待动态加载的脚本

在我的页面正文中,我需要插入此代码作为 AJAX 调用的结果:

我无法使用$.load(),因为文档已经加载,所以事件不会触发。

这安全吗?如果没有,我如何确保在执行我的自定义生成代码之前已加载 jquery 脚本。

0 投票
5 回答
264667 浏览

javascript - 脚本的加载和执行顺序

在 html 页面中包含 JavaScript 有很多不同的方法。我知道以下选项:

  • 内联代码或从外部 URI 加载
  • 包含在 <head> 或 <body> 标签 [ 1 , 2 ]
  • 没有deferasync属性(仅外部脚本)
  • 包含在静态源中或由其他脚本动态添加(在不同的解析状态下,使用不同的方法)

不计算来自硬盘的浏览器脚本、javascript:URI 和onEvent-attributes [ 3 ],已经有 16 种替代方法可以执行 JS,我确定我忘记了一些东西。

我不太关心快速(并行)加载,我对执行顺序更好奇(这可能取决于加载顺序和文档顺序)。是否有涵盖所有情况的良好(跨浏览器)参考?例如http://www.websiteoptimization.com/speed/tweak/defer/只处理其中的 6 个,并且主要测试旧浏览器。

我担心没有,这是我的具体问题:我有一些(外部)头脚本用于初始化和脚本加载。然后我在正文的末尾有两个静态的内联脚本。第一个允许脚本加载器动态地将另一个脚本元素(引用外部 js)附加到正文。第二个静态内联脚本想要使用添加的外部脚本中的 js。它可以依赖于另一个已被执行(以及为什么:-)?

0 投票
1 回答
315 浏览

ruby-on-rails - 在运行时不评估 Rails 中的哪些代码(即:ActiveRecord 范围等)

如果您尝试在 ActiveRecord 范围内评估当前日期,则可能是不正确的,因为这是在加载应用程序代码时而不是在运行时评估的。您必须在 lambda 中通过它,如下所示:

scope :today, lambda { where(:submitted_at => Date.today.to_time.utc..(Date.today + 1).to_time.utc) }

这是一个时髦的例子,因为发生了时间转换。无论如何,我的问题是这还有什么问题?ActiveRecord 范围是我唯一可以依靠在运行时不评估对 Date 的调用的地方吗?

0 投票
1 回答
388 浏览

jquery - 在 Grails 中 jQuery 之前加载 jQuery 子插件

我正在尝试将 jQuery 和 Cycle 插件与现有应用程序集成。但是,我遇到了有关 javascript 代码加载顺序的问题。具体来说,循环 javascript 在 jquery 库之前加载。

我在页面上按顺序定义了三个脚本

但是,根据 Firebug 的 NET 选项卡,循环插件首先加载,然后是脚本 javascript 代码,然后是 jquery 库。最终结果是幻灯片的第一个图像正在显示,但没有发生过渡。

如何更改加载顺序?

0 投票
4 回答
12031 浏览

ruby-on-rails - 如何在 gem 中扩展 ApplicationController?

我想我会想出一个巧妙的方法来在 Rails 3.x gem 中扩展 ApplicationController。

在我的宝石中lib/my_namespace/my_controller.rb,我有:

但是当 Gem 被加载时,app/controllers/application_controller.rb还没有加载,所以它失败了:

作为一种解决方法,我在我的 gem 中将 ApplicationController 定义lib/gem_namespace/application_controller.rb为:

我假设即使我在那里定义了它,它也会在我的 Rails 3 应用程序中重新定义app/controllers/application_controller.rb,这样扩展的应用程序中的控制器和扩展的ApplicationController控制器MyNamespace::MyController都会直接或间接扩展app/controllers/application_controller.rb.

但是,我们注意到加载 gem 后,扩展ApplicationController的控制器无法访问app/controllers/application_controller.rb. 此外,该ApplicationHelper (app/helpers/application_helper.rb)模块不再被其他辅助模块加载。

我如何ApplicationController在我的 gem 中的控制器中进行扩展,以便定义 abefore_filterafter_filterto 并使用它initialize来访问类的名称以确定关联模型的类,然后它可以在其方法中存储和使用该类?

2012 年 10 月 22 日更新

这是我想出的:

lib/your_gem_name/railtie.rb

并在lib/your_gem_name/controller.rb

0 投票
1 回答
97 浏览

javascript - Jquery 计时问题

现在我正在将车把模板附加到 div。我想在代码上使用它-

我知道 onScreen 有效,因为我在将鼠标悬停在该类上时已经记录了同一行,并且它会在屏幕上返回内容。现在,这种情况正在发生,因为我在要附加到的 div 中的内容上有一个 slideUp() 。我知道这一点,因为当我执行 slideDown() 时,该行会正确返回内容。

我该如何解决这个问题?slideUp 完成后我可以收听一些事件吗?

编辑-

我也尝试使用 Jquery slideUps 回调,但仍然无济于事 -

0 投票
1 回答
540 浏览

java - 获取 jUnit:s @BeforeClass 的过去静态字段

有没有办法解决经典问题

除了交换

如果 someValue 是静态的。问题是这是针对框架(扩展)的,并且 SomeInterface 的实现将由用户提供。

0 投票
1 回答
392 浏览

magento - Magento:延迟加载头块直到我的事件触发

我有两个观察者:

我想要一个包含 javascript 的Block加载到我的 Head 中,但需要用Observer中收集的数据填充它。我的问题是块在事件触发之前加载。我添加了一些日志来证明这一点。

目前我正在使用布局 XML 添加块,我是否需要在setCatalogProductListing中以编程方式创建它,或者是否有其他方法可以防止在所有数据可用之前加载它?

甚至可以在这里以编程方式创建它,还是此时头部已经完成?

提前致谢

0 投票
1 回答
486 浏览

magento - Magento 解决观察者加载顺序问题的最佳方法是什么?

我需要在我的列表页面的头部插入一个 javascript 对象,其中包含该页面上列出的产品的 json 表示,即不是该类别中的所有产品,而只有那些已被工具栏分页的产品。

我发现我可以通过在 catalog_block_product_list_collection 上放置一个观察者来获取该数据,但这是在渲染头块之后,因此阻止我在头的子块中使用该数据。

据我所知,我有两个选择。

  1. 将 javascript 块加载到页脚并使用 jquery 将其注入页眉。
  2. 找出 Magento 在调用 catalog_block_product_list_collection 之前做了什么,并在我的模型中重新创建逻辑。

我想知道有经验的 Magento 开发人员会跳到哪一种方式以及这两种技术的陷阱,在此先感谢。

0 投票
1 回答
456 浏览

routing - Ember.js 路由加载顺序导致未定义错误

我有一组路线。如果用户未通过身份验证,我想重定向一些路由,如果用户通过身份验证,我想重定向其他路由。

AuthenticatedRoute 案例正在运行,因此我为其他案例实现了以下路由:

每条路线都在我的 /routes 目录中它自己的文件中。RegistrationRoute 完全按预期工作。但是,LoginRoute 会引发错误:

我能想到的唯一原因是在加载LoginRoute之前被解释。NotAuthenticatedRoute如果我更改NotAuthenticatedRoute为 in之类的not_authenticated_route.js.coffee东西,一切正常。AntiAuthenticatedRouteanti_authenticated_route.js.coffee

我该如何处理装载订单?

我还通过将打算继承​​的路由放在扩展目录中解决了这个问题,该目录在路由目录中的其他文件之前加载,这可能是解决问题的一个不错的解决方法。