Mam jedną aplikację strony, która używa Knockout.js do wiązania danych i Sammy.js do routingu adresów URL po stronie klienta (hash).Trasy Sammy.js nie wystrzeliwują z łączy Knockout w IE10
W Internet Explorerze widzę jednak dziwny problem: czasami linki po kliknięciu zmieniają adres URL w pasku adresu przeglądarki, ale odpowiednia trasa Sammy nie zostanie uruchomiona.
To się nie dzieje za każdym razem (ale mogę konsekwentnie odtworzyć błąd), a dzieje się to tylko w IE10 (Chrome działa dobrze za każdym razem). Wydaje się być również związany z Knockoutem, ponieważ zestaw zakodowanych na sztywno linków nie wykazuje tego samego problemu.
celu zilustrowania, ja zabrana wszystko poza minimum odtworzyć problem, tworząc dwa przykłady jsbin:
przykładem 1 (odcięcia):http://jsbin.com/aretis/2/
widzi ten problem, otwórz powyższy link i kliknij "Record # 1", następnie "Baz", a następnie "Record # 1" ponownie. Adres URL rekordu 1 pojawi się na pasku adresu, ale trasa dla tego rekordu nie zostanie dołączona do listy.
Przykład 2 (bez odcięcia):http://jsbin.com/amivoq/1/
W tym przykładzie, ma statyczną listę odnośników płytowych zamiast listy danych związanej. Kliknięcie dowolnego linku (w dowolnej kolejności) spowoduje, że trasa zostanie dodana do listy (tak jak powinna).
Przypomnienie, że należy je uruchomić w IE, aby odtworzyć problem.
Wszelkie pomysły?
Mam taki sam problem w aplikacji teraz z IE 10. Czy masz aktywowaną metodę narażenia? Czy zostanie to wywołane podczas przełączania się w przód iw tył? – Boone
Rozwiązałem (być może "pracowałam" to lepsza fraza) problem po prostu wiążąc się z $ (window) .on ("hashchange") i pisząc własny router URL. Moje potrzeby były bardzo proste i podejrzewam, że wykorzystywałem jedynie około 10% możliwości Sammy.js. Wciąż jestem ciekawy co do źródła mojego problemu, więc pozostawiam to pytanie. –
Czy możesz ponownie utworzyć przykład 1 z brakiem samsung JS? Stworzyłem także własny router oparty na SammyJS. @Matt Peterson, dzięki za cynk. Nie wiedziałem o wydarzeniu "hashchange". Sprawdzałem okna.lokalizacja z zegarem :). – Damien