AngularJS html5Mode 使用 SVG Marker失效
2015-01-12 13:45 i鱿鱼 阅读(1044) 评论(0) 编辑 收藏 举报接上一篇文章:
问题:
解决了html5Mode的路由问题之后,今天突然发现一个奇怪的问题:项目中使用SVG所画的箭头全都不见了?反复测试之后发现Chrome和Firefox有问题,而IE却可以显示,但是在处理html5Mode之前这三个浏览器都是没有问题的。
解决思路:
Google了一下,发现是在页面中加了base标签之后,svg中的marker-end中url路径出错,@jeffbcross 给出了两个方案:
1.去掉base标签,然后修改html5Mode方法为:$locationProvider.html5Mode({ enabled: true, requireBase: false }),意思是不需要base标签。可是很遗憾,这种方案我试了是无效的,反而会报出很多错误。
2.在 @jeffbcross的github上 给出了另一个解决方案,而这个方案确实有效。可是我发现Chrome和Firefox的问题解决了,而IE中的箭头又不见了,呃。。。
注:当初选用AngularJS1.3+和Bootstrap就已经建议同事使用Chrome,基本放弃其它浏览器(IE,360等),所以也没再花时间研究浏览器兼容性,有解决方案的朋友可以指出