【HTML】标签href属性不跳转问题

最近由于项目需要,支援到了微信公众号开发小组,在调试过程中发现,部分页面的跳转,在iOS的微信公众号上无法跳转,始终在原来的页面上。但是在安卓的微信公众号上却能够完美跳转。按理说同是腾讯旗下的微信,同样的URL,不应该会出现这样的情况。

经过与度娘半个小时的交流,最后找到两个方案,别问我为什么需要找这么久,因为这个问题我都不知道怎么描述。

方案一:

在你的URL最后添加一个随机的参数,这样写的原因,是可能浏览器认为你需要跳转的URL与当前页面的URL是一样,所以加上随机参数,能够解决(但是这个方案对我的问题不管用,但是放出来,或许能帮到一些人)


     方案二:

     舍弃href属性,在<a>标签中使用onclick方法:οnclick="window.location = 'URL' ",href:"###",完美解决问题。


为什么?

至于为什么这样能够解决问题,我至今没有找到合理的解释,原谅我还在半路出家的路上,之后知道了会上来更新,有知道为什么的前端大神,也望留言赐教。但是秉承求学的追求知其所以然精神,我还是和度娘又谈了半个小时,以下是我找到的,或许有帮助:

  1.两者执行顺序不一样,onclick先于href属性,如果onclick函数不返回false,在onclick函数执行完之后,还是会继续执行href函数中的URL。

2.href:"###",一个#,在你点击的时候,链接会先跳到页面的顶部,然后开始跳转,而三个#不会跳转到页面顶部。href="javascript:void(0)",为什么不用这样的伪协议,因为不能平稳退化,当用户浏览器对JS失效或禁用时点击后什么意义都没有,而且这样写会影响排名,因为大多数浏览器搜索不到它。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章