问题标签 [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.
javascript - 等待动态加载的脚本
在我的页面正文中,我需要插入此代码作为 AJAX 调用的结果:
我无法使用$.load()
,因为文档已经加载,所以事件不会触发。
这安全吗?如果没有,我如何确保在执行我的自定义生成代码之前已加载 jquery 脚本。
javascript - 脚本的加载和执行顺序
在 html 页面中包含 JavaScript 有很多不同的方法。我知道以下选项:
- 内联代码或从外部 URI 加载
- 包含在 <head> 或 <body> 标签 [ 1 , 2 ]
- 没有
defer
或async
属性(仅外部脚本) - 包含在静态源中或由其他脚本动态添加(在不同的解析状态下,使用不同的方法)
不计算来自硬盘的浏览器脚本、javascript:URI 和onEvent
-attributes [ 3 ],已经有 16 种替代方法可以执行 JS,我确定我忘记了一些东西。
我不太关心快速(并行)加载,我对执行顺序更好奇(这可能取决于加载顺序和文档顺序)。是否有涵盖所有情况的良好(跨浏览器)参考?例如http://www.websiteoptimization.com/speed/tweak/defer/只处理其中的 6 个,并且主要测试旧浏览器。
我担心没有,这是我的具体问题:我有一些(外部)头脚本用于初始化和脚本加载。然后我在正文的末尾有两个静态的内联脚本。第一个允许脚本加载器动态地将另一个脚本元素(引用外部 js)附加到正文。第二个静态内联脚本想要使用添加的外部脚本中的 js。它可以依赖于另一个已被执行(以及为什么:-)?
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 的调用的地方吗?
jquery - 在 Grails 中 jQuery 之前加载 jQuery 子插件
我正在尝试将 jQuery 和 Cycle 插件与现有应用程序集成。但是,我遇到了有关 javascript 代码加载顺序的问题。具体来说,循环 javascript 在 jquery 库之前加载。
我在页面上按顺序定义了三个脚本
但是,根据 Firebug 的 NET 选项卡,循环插件首先加载,然后是脚本 javascript 代码,然后是 jquery 库。最终结果是幻灯片的第一个图像正在显示,但没有发生过渡。
如何更改加载顺序?
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_filter
和after_filter
to 并使用它initialize
来访问类的名称以确定关联模型的类,然后它可以在其方法中存储和使用该类?
2012 年 10 月 22 日更新:
这是我想出的:
在lib/your_gem_name/railtie.rb
:
并在lib/your_gem_name/controller.rb
:
javascript - Jquery 计时问题
现在我正在将车把模板附加到 div。我想在代码上使用它-
我知道 onScreen 有效,因为我在将鼠标悬停在该类上时已经记录了同一行,并且它会在屏幕上返回内容。现在,这种情况正在发生,因为我在要附加到的 div 中的内容上有一个 slideUp() 。我知道这一点,因为当我执行 slideDown() 时,该行会正确返回内容。
我该如何解决这个问题?slideUp 完成后我可以收听一些事件吗?
编辑-
我也尝试使用 Jquery slideUps 回调,但仍然无济于事 -
java - 获取 jUnit:s @BeforeClass 的过去静态字段
有没有办法解决经典问题
除了交换
和
如果 someValue 是静态的。问题是这是针对框架(扩展)的,并且 SomeInterface 的实现将由用户提供。
magento - Magento:延迟加载头块直到我的事件触发
我有两个观察者:
我想要一个包含 javascript 的Block加载到我的 Head 中,但需要用Observer中收集的数据填充它。我的问题是块在事件触发之前加载。我添加了一些日志来证明这一点。
目前我正在使用布局 XML 添加块,我是否需要在setCatalogProductListing中以编程方式创建它,或者是否有其他方法可以防止在所有数据可用之前加载它?
甚至可以在这里以编程方式创建它,还是此时头部已经完成?
提前致谢
magento - Magento 解决观察者加载顺序问题的最佳方法是什么?
我需要在我的列表页面的头部插入一个 javascript 对象,其中包含该页面上列出的产品的 json 表示,即不是该类别中的所有产品,而只有那些已被工具栏分页的产品。
我发现我可以通过在 catalog_block_product_list_collection 上放置一个观察者来获取该数据,但这是在渲染头块之后,因此阻止我在头的子块中使用该数据。
据我所知,我有两个选择。
- 将 javascript 块加载到页脚并使用 jquery 将其注入页眉。
- 找出 Magento 在调用 catalog_block_product_list_collection 之前做了什么,并在我的模型中重新创建逻辑。
我想知道有经验的 Magento 开发人员会跳到哪一种方式以及这两种技术的陷阱,在此先感谢。
routing - Ember.js 路由加载顺序导致未定义错误
我有一组路线。如果用户未通过身份验证,我想重定向一些路由,如果用户通过身份验证,我想重定向其他路由。
AuthenticatedRoute 案例正在运行,因此我为其他案例实现了以下路由:
每条路线都在我的 /routes 目录中它自己的文件中。RegistrationRoute 完全按预期工作。但是,LoginRoute 会引发错误:
我能想到的唯一原因是在加载LoginRoute
之前被解释。NotAuthenticatedRoute
如果我更改NotAuthenticatedRoute
为 in之类的not_authenticated_route.js.coffee
东西,一切正常。AntiAuthenticatedRoute
anti_authenticated_route.js.coffee
我该如何处理装载订单?
我还通过将打算继承的路由放在扩展目录中解决了这个问题,该目录在路由目录中的其他文件之前加载,这可能是解决问题的一个不错的解决方法。