Javascript 为什么我的主干网/木偶应用程序在事件绑定完成之前呈现?

Javascript 为什么我的主干网/木偶应用程序在事件绑定完成之前呈现?,javascript,jquery,dom,backbone.js,marionette,Javascript,Jquery,Dom,Backbone.js,Marionette,我正在开发一个Backbone.js-marionete.js应用程序。在现阶段,应用程序相当复杂,我的意思是,它有很多模块和视图,许多DOM对象(菜单等)由依赖Jquery的库提供。这个应用程序运行得很好,但有一个大问题:如果你点击一个按钮或什么,在应用程序显示之后,什么也不会发生,你必须等待几秒钟,然后开始使用这个应用程序。这只在远程测试时发生,在我的本地服务器上几乎没有 在绑定每个事件(在木偶视图或外部库中声明)之前,是否有方法防止应用程序在浏览器中呈现 p.D.我猜问题是由外部库引起的,

我正在开发一个Backbone.js-marionete.js应用程序。在现阶段,应用程序相当复杂,我的意思是,它有很多模块和视图,许多DOM对象(菜单等)由依赖Jquery的库提供。这个应用程序运行得很好,但有一个大问题:如果你点击一个按钮或什么,在应用程序显示之后,什么也不会发生,你必须等待几秒钟,然后开始使用这个应用程序。这只在远程测试时发生,在我的本地服务器上几乎没有

在绑定每个事件(在木偶视图或外部库中声明)之前,是否有方法防止应用程序在浏览器中呈现


p.D.我猜问题是由外部库引起的,因为它们是在视图的onShow事件中调用的,所以尽管视图已经显示,但库没有时间完全加载和绑定事件。

您是否使用模块加载器,如RequireJS?您是否尝试过在
onShow
回调中放置断点,并确认供应商脚本是否存在/在范围内?@seebickit好吧,一切似乎都在范围内,因为它可以工作,问题是需要几秒钟,您可能需要使用
https://github.com/marionettejs/marionette.inspector
/或chrome扩展
https://chrome.google.com/webstore/detail/marionette-inspector/fbgfjlockdhidoaempmjcddibjklhpka?hl=en
检查页面加载后缺少的内容。如果不使用模块加载程序,如果外部脚本是通过HTML脚本标记加载的,而您没有设置
async
属性,并且您将主干代码放在这些脚本之后,那么您将不得不想出自己的方法来检测何时加载供应商脚本,或者同步加载所有脚本,那么,当你启动应用程序时,所有这些脚本都应该可用。如果您是通过JS延迟加载,那么您可以使用
onload
事件检测脚本何时加载。您是否使用模块加载程序,如RequireJS?您是否尝试过在
onShow
回调中放置断点,并确认供应商脚本是否存在/在范围内?@seebickit好吧,一切似乎都在范围内,因为它可以工作,问题是需要几秒钟,您可能需要使用
https://github.com/marionettejs/marionette.inspector
/或chrome扩展
https://chrome.google.com/webstore/detail/marionette-inspector/fbgfjlockdhidoaempmjcddibjklhpka?hl=en
检查页面加载后缺少的内容。如果不使用模块加载程序,如果外部脚本是通过HTML脚本标记加载的,而您没有设置
async
属性,并且您将主干代码放在这些脚本之后,那么您将不得不想出自己的方法来检测何时加载供应商脚本,或者同步加载所有脚本,那么,当你启动应用程序时,所有这些脚本都应该可用。如果您是通过JS延迟加载,则可以使用
onload
事件检测脚本何时加载。。