Anchors in links

不问归期 提交于 2019-12-10 09:25:42

问题


Given:

  • Tom — who has a modern browser which is pushState-enabled
  • Fred — who has a browser which is not pushState-enabled
  • a super.app web application powered by Backbone

Tom browses to products/1 page where a #special-offer section exists.

Does Backbone allow Tom to share a link with Fred including the anchor to the special-offer section: http://super.app/products/1#special-offer

Will Fred be redirected to http://super.app/#products/1 (eg: without the #special-offer)?

In other words, does Backbone allow to use anchors?


回答1:


I had a test here http://bl.ocks.org/abernier/raw/3183257/

It appears that YES:

  • anchors can be used with pushState-enabled browsers : http://bl.ocks.org/abernier/raw/3183257/product1.html#special-offer
  • while for IE<10, it is converted to http://bl.ocks.org/abernier/raw/3183257/#product1.html eg: without #special-offer

The only thing I had to take care about was to disable anchors for hashes-based history browsers, by:

if (!Backbone.history._hasPushState) {
  $('body').delegate('a[href^=#]', 'click', function (e) {
    e.preventDefault();
  });
}



回答2:


Backbone has a very customizable use of hash URL fragments within its modules Router and History.



来源:https://stackoverflow.com/questions/11672687/anchors-in-links

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!