AngularJS HTML5模式在手动URL更改时执行整页重新加载
发布时间:2020-12-17 17:20:44 所属栏目:安全 来源:网络整理
导读:我正在使用AngularJS和ui.router.我已经看到Hashbang和 HTML5模式的行为差异,我想知道它是否可以更改/阻止. 使用时 $locationProvider.html5Mode(true); 当我手动更改地址栏中的URL时,会发生整页重新加载. 例如,如果我目前在网址上 http://example.com/post/
我正在使用AngularJS和ui.router.我已经看到Hashbang和
HTML5模式的行为差异,我想知道它是否可以更改/阻止.
使用时 $locationProvider.html5Mode(true); 当我手动更改地址栏中的URL时,会发生整页重新加载. http://example.com/post/5467777 并手动将其更改为 http://example.com/post/5464777 发生拉页重新加载,然后加载正确的状态. 如果我不使用HTML5模式,则不会发生整页重新加载,而是在更改网址时直接加载状态(当然要快得多) http://example.com/#/post/5467777 到另一个. # Don't rewrite files or directories RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] # Rewrite everything else to index.html to allow html5 state links RewriteRule ^ index.php [L] 我认为AngularJS也可以拦截这些URL更改.如果可能,在HTML5模式下手动更改URL时,如何才能重新加载页面? 解决方法
这里没有错.这是浏览器的预期行为.使用哈希时,阻止重新加载的事实是您在同一页面内请求一个部分(id等于哈希的元素)(因此无需重新加载).如果URL发生更改,则浏览器不能认为它是新页面.
当您单击页面时,angular将截取单击并相应地更改地址栏中的URL. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读