href无法跳转到angularjs中的指定页面
来源:互联网 发布:iphone4优化 越狱 编辑:程序博客网 时间:2024/06/07 14:24
自己写了一个angularjs + ionic项目,在广告中有一个查看商品详情,复制商品详情链接之后,页面没有跳转到指定页面,而是跳转到ionic项目的首页。
测试过程:
1、在没有打包压缩js 和 html(缓存)之前,可以链接到指定页面,但是打包压缩之后,地址栏会迅速的切换为angularjs默认的首页路由地址。
2、打包压缩的工程,进入首页之后,又能够正常的路由。
部分代码如下,代码如图
1、没有压缩的代码
2、压缩之后
过程分析
第一次使用HTML模板,它被加载到模板缓存中,以便快速检索。你可以直接将模板标签加载到缓存中,或者通过$templateCache服务。
也就是说,第一次通过href链接进入ionic项目,没有第一次使用HTML,即实际上$templateCache还没有真正缓存数据,找不到数据,那么执行默认的路由,进入首页的html页面,(这是才是第一次使用HTML模板),当再次点击指定连接的时候,就执行正常了。
解决办法:
压缩的js文件去掉$templateCache缓存即可。
下面是自己写了一个规避办法
String.prototype.startWith=function(str){ if(str==null||str==""||this.length==0||str.length>this.length) return false; if(this.substr(0,str.length)==str) return true; else return false; return true; }//解决直接访问angular深度链接不成功的问题var historyBefortUrl = "";//链接进来的Url,可能为空var targetJumptoUrl = "";//想跳转的页面function firstDeepJumpto(){window.location.href = targetJumptoUrl;}//定义配置信息app.config(function ($stateProvider, $ionicConfigProvider) { //禁用所有缓存 $ionicConfigProvider.views.maxCache(0); //解决深度链接跳转不成功的问题 console.log(window.location.href); console.log(document.referrer); historyBefortUrl = document.referrer; targetJumptoUrl = window.location.href;//链接进来的URL与当前angular app域名不一致 并且 不是angular app 首页的链接 if(!historyBefortUrl.startWith('http://www.sqhzg.cn/index.php/Wap/Homemake/indexHomeAngular.html') && (targetJumptoUrl !="http://www.sqhzg.cn/index.php/Wap/Homemake/indexHomeAngular.html#/appliance/index" && targetJumptoUrl !="http://www.sqhzg.cn/index.php/Wap/Homemake/indexHomeAngular.html")){ setTimeout(firstDeepJumpto,200); }});
0 0
- href无法跳转到angularjs中的指定页面
- 跳转到指定页面
- 跳转到指定页面
- href="#"不跳转到页面顶端
- 客户端跳转到指定页面
- button跳转到指定页面
- 推送跳转到指定页面
- 页面/跳转到指定url
- web tips——href跳转页面指定部分
- 自定义项目中的404页面,并且实现指定时间内跳转到一个指定的页面
- jsp页面如何通过href跳转到另一个jsp
- ListView的Item可以跳转到指定的页面,但是无法显示布局和数据
- .Net mvc 登录认证成功后无法跳转到指定的页面,求指教
- cd无法跳转到指定目录解决办法
- cd无法跳转到指定目录解决办法
- js如何在指定页面跳转到另一指定页面
- js如何在指定页面跳转到另一指定页面
- 使用onclick跳转到其他页面/跳转到指定url
- uploadPreview插件 将event对象添加到回调函数中
- 剑指offer--面试题33:把数组排成最小的数
- 动画按钮实现
- 动态添加的dom方法,调用angular中$scope方法
- Openjudge 2.6基本算法之动态规划:9277 Logs Stacking堆木头
- href无法跳转到angularjs中的指定页面
- pygame的一些基础知识
- Android 线程池的使用
- angular 默认排序问题
- css3 target伪类学习
- 权限管理系统
- less 学习笔记入门
- Android sqlite数据库学习
- eclipse 打包 android apk