我剛開始玩sammy.js,我想要做的第一件事就是測試歷史更改的工作原理。它可以像預期的那樣工作,甚至更好,但是一旦我打開IE10並切換到IE9瀏覽器模式,一切都會分開。如果我沒有使用散列設置鏈接,那麼IE9會繼續跟蹤鏈接。當然與IE8同樣的問題。使用Sammy.js和具有html4支持的歷史記錄路由knockout.js應用程序
此時此刻我唯一有此位的代碼與薩米
App.sm = $.sammy('#content', function() {
this.get('/', function(context) {
console.log('Yo yo yo')
});
this.get('/landing', function(context) {
console.log('landing page')
});
this.get('/:user', function(context) {
console.log(context)
});
});
相關和引發劑
$(function() {
App.sm.run('/');
});
我也看了這個example它包含三種類型的鏈接的,正常的,散列和正常的,但在IE9和IE8上正常工作。這讓我覺得應該可以讓sammy.js同時支持html5 history和html4。
所以我的問題是,我怎麼能做到這一點?
更新
我發現,使其在IE
工作方式我只是說這個片段:
this.bind('run', function(e) {
var ctx = this;
$('body').on('click', 'a', function(e) {
e.preventDefault();
ctx.redirect($(e.target).attr('href'));
return false;
});
});
無論如何,我仍然有進入的一個問題該網站,html5支持瀏覽器的歷史記錄總是被重定向到domain.com,不管是什麼初始url。
所以我想知道我應該如何配置sammy.js來過度工作。或者,也許任何人都可以推薦 一些其他路由器,這將與knockout.js很好地工作。