链接(片段)我使用Backbone.js的但作为IE9不支持pushState的API时,URL被从/page
转换为/#page
。手柄锚在IE9
挑战是我需要关注<a href="#section">Go to section</a>
片段,但一旦点击,片段部分#section
将从URL中删除(未添加),我需要它共享。
我该如何处理这种情况?
链接(片段)我使用Backbone.js的但作为IE9不支持pushState的API时,URL被从/page
转换为/#page
。手柄锚在IE9
挑战是我需要关注<a href="#section">Go to section</a>
片段,但一旦点击,片段部分#section
将从URL中删除(未添加),我需要它共享。
我该如何处理这种情况?
如果你需要#page#section
只使用
<a href="#page/section">Go to section</a>
锚链接是完全取代上点击。
从Multiple fragment identifiers correct in URL
从规格上来看,一个 fragment可以包含 以下字符(我已经扩大了生产):
fragment = *(ALPHA/DIGIT/"-"/"."/"_"/"~"/"%" HEXDIG HEXDIG "!"/"$"/"&"/"'"/"("/")"/"*"/"+"/","/> ";"/"="/":"/"@"/"/"/"?")
所以,不,片段不得包含纯文本
#
;它必须用%23
编码为 。
这意味着#page#section
不是有效的片段。
如果每次点击后,该网址是回#page
,这可能是因为要更换的片段手动地方,例如
Backbone.history.navigate('#page');
如果您不能修改HTML,你可以做一个新的路线:
var AppRouter = Backbone.Router.extend({
routes: {
'page': 'pageRoute',
'section': 'sectionRoute'
},
pageRoute: function() {
},
sectionRoute: function() {
}
});
我无法修改HTML标签。这些已经解决了。 –
@BarbuBarbu我更新了答案,尽我所能提供的细节,但你应该进一步澄清你的问题。 –
我试图做一个codepen预览,brb –
我不明白你的意思是_“最后一部分将被删除”_? –
此外,请提供[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 –
我编辑了我的详细问题,请检查 –