Недавно я начал использовать knockout.js и sammy.js для модернизации своего приложения. Однако я столкнулся с некоторыми проблемами.блок sammy.js от кражи 'реальных ссылок'
У меня есть действующие ссылки на странице - пользователи должны фактически перейти к этому местоположению, вместо имитации поведения навигации с использованием sammy.js
. Я хочу, чтобы только связанные с хешем ссылки были перенаправлены sammy.js, но также перехватывает ссылки, которые не содержат хешей.
например, перехватывает <a href="/logout">logout</a>
.
, ИСЫ часть, которая делает маршрутизацию является:
Sammy(function() {
this.get('#/', function() {
...
});
this.get('#:id', function() {
...
});
this.get('', function() { this.app.runRoute('get', '#/') });
}).run();
Я думаю this.get('' ..)
части является виновником, который вызывает такое поведение - я получил его от knockout.js учебника, в котором говорится, что линия необходима, чтобы позволить пользователям из другого источника, чтобы правильно просматривать мою веб-страницу. страница, которой управляет код knockout.js, - /w/
. Я хочу, чтобы sammy.js работал только в /w/
или, по крайней мере, позволял пользователям перейти на /logout
. Как я могу это сделать?
Вы когда-нибудь решали это? Если нет, я определенно рекомендую воспроизвести это на [jsfiddle] (http://jsfiddle.net/). – edhedges
@edhedges Я думаю, что это касается определения точек входа вашего веб-приложения. мое приложение является традиционным многостраничным приложением, которое имеет HTML-файлы, созданные с веб-сервера python (и в некоторой степени использует sammy.js и hash + ajax). поэтому, мое решение для этого было удалить 'this.get ('', ...)' и поместить 'location.href = <некоторый хэш, который я хочу для этой страницы, которая сгенерирована с сервера>'. теперь не-хэш-коды не перехватываются. – thkang
Вы должны ответить на вопрос самостоятельно ради других, если вы его разрешили. – edhedges