javascript – AngularJS不会在浏览器重新加载时运行

我有一个新项目,其中包含以下组件:

> Node.js(v0.10.37)
>表达微框架
>玉石模板发动机
> Angular.js(最新)
>材料设计库(material.angularjs.org)
> Jquery

我在浏览器重新加载时遇到问题(按下浏览器刷新按钮).我没有使用任何Angular.js路由功能.我正在使用Express路由器,每个页面都有一条路由.

当我尝试刷新时,使用这些组件的页面构建,有时(20次重新加载中的1次)AngularJS只是在没有任何控制台错误的情况下运行.

当我在以下路线之间导航时,问题更为常见:

我在localhost:3000 / index,我进入localhost:3000 / about

在这种情况下更有可能发生此问题.

编辑:我没有使用任何AngularJS路由功能.

编辑:我还测试了DOMContentLoaded包装解决方案.

编辑:我附加了一个plunker但问题没有重现.我认为这也与服务器有关.这个掠夺者真的很接近现实.

ng-app="StarterApp"
See the plunker :)

编辑:http://plnkr.co/edit/Vi1AQxNxJTDBf4B1ZEhr?p=preview

编辑:如果你在plunker上输入错误请告诉我.

编辑:我也尝试激活:$locationProvider.html5Mode(true);

编辑:我还发现,当服务器和计算机(在localhost上运行)真的很紧张时会发生这种情况. (82%RAM – 1个CPU核心,99%)

我还跟踪了请求,我发现文件在主要请求上正确加载,但在Angular(Ajax请求)中完成的请求不会触发.

我还安装了一些Chrome AngularJS调试插件,当发生这种情况时它也不会运行.

这有时发生在我的所有页面上,因此我认为某些代码不会有用.

为了解决这个问题,我再次重新加载,有时我会重新加载2次以启动Angular.JS.

这是以下情况:

什么时候工作

界面
javascript  –  AngularJS不会在浏览器重新加载时运行

控制台
javascript  –  AngularJS不会在浏览器重新加载时运行

当它不工作时

界面
javascript  –  AngularJS不会在浏览器重新加载时运行

控制台
javascript  –  AngularJS不会在浏览器重新加载时运行

这真的让我很烦.我会继续调查这个问题,但我真的很感激任何帮助.

解决方法:

Evrika!

我发现了这个问题.谢谢大家的支持.

这是angular.js调试chrome / firefox扩展的一个问题.

Ng-Inspector在每个负载上加载脚本ng-inspector.js,在这个脚本中它是一个处理$state服务的控制器,并声明如何加载用户模块以便将调试数据推送到插件中.

不知何故,这种加载配置与我的加载配置混淆.

代码写得很好,但我没想过这个.

因此,如果您解决此问题,请确保您的调试插件(ng-inspector和angular batarang)不与项目内的业务逻辑交互.

我做了一些压力测试,以确保不再发生此问题.

服务器负载
javascript  –  AngularJS不会在浏览器重新加载时运行

现在每个人都可以.

上一篇:javascript – window.location.reload(true)工作不一致


下一篇:如何防止浏览器自动滚动重新加载javascript?