在Angular应用程序中使用pushState()更改浏览器URL时出现错误

Maher El Gamil

在angularJs应用程序中打开引导程序模态时,我需要更改浏览器URL,我使用的pushState()函数是url,但它引发了以下错误:

Uncaught Error: [$rootScope: infdig] 10 $digest() iterations reached.Aborting!
    Watchers fired in the last 5 iterations: [
        ["fn: $locationWatch; newVal: 8; oldVal: 7"],
        ["fn: $locationWatch; newVal: 9; oldVal: 8"],
        ["fn: $locationWatch; newVal: 10; oldVal: 9"],
        ["fn: $locationWatch; newVal: 11; oldVal: 10"],
        ["fn: $locationWatch; newVal: 12; oldVal: 11"]
    ] 
    http: //errors.angularjs.org/1.2.13/$rootScope/infdig?p0=10&p1=%5B%5B%22fn%3…2fn%3A%20%24locationWatch%3B%20newVal%3A%2012%3B%20oldVal%3A%2011%22%5D%5D angular-1.2.13.js:78
    (anonymous function) angular-1.2.13.js:78
    Scope.$digest angular-1.2.13.js:11937
    (anonymous function) angular-1.2.13.js:12084
    completeOutstandingRequest angular-1.2.13.js:4144
    (anonymous function)
克莱斯

这是$location角度服务中的错误它已在2014年8月27日最新版本的Angular 1.3.0-beta.20中修复。请参阅问题3924和副本6976,这些都归功于此修复程序。

angular-ui团队提供了一个临时修复程序的文档:https : //github.com/angular-ui/ui-router/issues/562#issuecomment-31623003

造成此问题的原因是,Angular不会同步通知浏览器的URL更改,并且在$ browser.url()中信任其缓存的URL版本。由于$ browser.url()作为吸气剂是幂等的,因此它会不断返回真实的url,而不更新其内部内容。

为了验证这是真的,请在window.history.replaceState行之后,在提供的测试中添加此行,然后测试将通过:angular.element($ window).triggerHandler('popstate');

通过在url getter中重置lastBrowserUrl,可以在$ browser内的一行中轻松解决此问题:lastBrowserUrl = newLocation || location.href.replace(/%27 / g,“'”); 但这可能会导致不良的副作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在浏览器中使用捆绑的Angular 2应用程序?

来自分类Dev

尝试通过Selenium和Python使用GeckoDriver Firefox登录Gmail帐户时出现“此浏览器或应用程序可能不安全”错误

来自分类Dev

我的Angular JS应用程序可在桌面浏览器中使用,但不能在移动浏览器中使用

来自分类Dev

直接输入URL浏览器时,“ /”应用程序ASP.NET中的服务器错误

来自分类Dev

如何在带有角度cli的angular2应用程序中使用gulp浏览器浏览器同步?

来自分类Dev

当我们使用网络浏览器搜索应用程序时,是否可以更改显示在URL框中的Android应用程序的Web URL

来自分类Dev

Java 应用程序中出现 403 错误,但浏览器或 Postman 中没有

来自分类Dev

Angular 10:使用浏览器的后退按钮从外部URL向后导航时,ngOnInit不会在Firefox中部署的应用程序版本中触发

来自分类Dev

在单页应用程序中使用浏览器“后退”按钮时,Ace Editor 中的数据损坏

来自分类Dev

如何使用HTML5 pushState更改浏览器URL时如何处理后退按钮

来自分类Dev

更改 glassfish 应用程序部署到的浏览器

来自分类Dev

在浏览器中单击URL时如何打开android应用程序

来自分类Dev

在浏览器中单击URL时如何打开android应用程序

来自分类Dev

保持浏览器URL与应用程序状态同步

来自分类Dev

在Java应用程序中使用js和CSS(嵌入式浏览器功能)

来自分类Dev

更改应用程序以使用浏览器而不是WebView

来自分类Dev

在LXDE中使用Web浏览器时出现错误“无效的桌面条目文件:”

来自分类Dev

Angular 7应用程序在IE 11中出现错误,并且在所有其他浏览器中均能正常工作

来自分类Dev

浏览器错误:应用程序意外退出。使用闪亮服务器时,诊断信息已转储到JavaScript错误控制台

来自分类Dev

NSURLSession错误:错误的URL,可在浏览器中使用

来自分类Dev

如何使用“网络浏览器应用程序”?

来自分类Dev

无法使用AzreADB2C登录我的应用程序。出现浏览器错误:ERR_HTTP2_PROTOCOL_ERROR

来自分类Dev

React JS应用程序的浏览器中出现“用户不允许访问Windows位置”错误

来自分类Dev

浏览器错误:应用程序意外退出。使用Shiny-Server时,诊断信息已转储到JavaScript错误控制台

来自分类Dev

从浏览器运行应用程序

来自分类Dev

Android应用程序链接-在浏览器中从应用程序打开URL而不触发应用程序链接

来自分类Dev

Swift:尝试从我的应用中打开Safari浏览器中的URL时,出现“快照未呈现的视图快照..”错误

来自分类Dev

从浏览器删除应用程序cookie后调用重定向时失败,显示cors错误

来自分类Dev

使用Spring Boot应用程序在Gradle中使用jettyRunWar或jettyRun只会在浏览器中列出目录

Related 相关文章

  1. 1

    如何在浏览器中使用捆绑的Angular 2应用程序?

  2. 2

    尝试通过Selenium和Python使用GeckoDriver Firefox登录Gmail帐户时出现“此浏览器或应用程序可能不安全”错误

  3. 3

    我的Angular JS应用程序可在桌面浏览器中使用,但不能在移动浏览器中使用

  4. 4

    直接输入URL浏览器时,“ /”应用程序ASP.NET中的服务器错误

  5. 5

    如何在带有角度cli的angular2应用程序中使用gulp浏览器浏览器同步?

  6. 6

    当我们使用网络浏览器搜索应用程序时,是否可以更改显示在URL框中的Android应用程序的Web URL

  7. 7

    Java 应用程序中出现 403 错误,但浏览器或 Postman 中没有

  8. 8

    Angular 10:使用浏览器的后退按钮从外部URL向后导航时,ngOnInit不会在Firefox中部署的应用程序版本中触发

  9. 9

    在单页应用程序中使用浏览器“后退”按钮时,Ace Editor 中的数据损坏

  10. 10

    如何使用HTML5 pushState更改浏览器URL时如何处理后退按钮

  11. 11

    更改 glassfish 应用程序部署到的浏览器

  12. 12

    在浏览器中单击URL时如何打开android应用程序

  13. 13

    在浏览器中单击URL时如何打开android应用程序

  14. 14

    保持浏览器URL与应用程序状态同步

  15. 15

    在Java应用程序中使用js和CSS(嵌入式浏览器功能)

  16. 16

    更改应用程序以使用浏览器而不是WebView

  17. 17

    在LXDE中使用Web浏览器时出现错误“无效的桌面条目文件:”

  18. 18

    Angular 7应用程序在IE 11中出现错误,并且在所有其他浏览器中均能正常工作

  19. 19

    浏览器错误:应用程序意外退出。使用闪亮服务器时,诊断信息已转储到JavaScript错误控制台

  20. 20

    NSURLSession错误:错误的URL,可在浏览器中使用

  21. 21

    如何使用“网络浏览器应用程序”?

  22. 22

    无法使用AzreADB2C登录我的应用程序。出现浏览器错误:ERR_HTTP2_PROTOCOL_ERROR

  23. 23

    React JS应用程序的浏览器中出现“用户不允许访问Windows位置”错误

  24. 24

    浏览器错误:应用程序意外退出。使用Shiny-Server时,诊断信息已转储到JavaScript错误控制台

  25. 25

    从浏览器运行应用程序

  26. 26

    Android应用程序链接-在浏览器中从应用程序打开URL而不触发应用程序链接

  27. 27

    Swift:尝试从我的应用中打开Safari浏览器中的URL时,出现“快照未呈现的视图快照..”错误

  28. 28

    从浏览器删除应用程序cookie后调用重定向时失败,显示cors错误

  29. 29

    使用Spring Boot应用程序在Gradle中使用jettyRunWar或jettyRun只会在浏览器中列出目录

热门标签

归档