2

以下を実行するときのような説明はありますか:

location.hash = "#/";

firefox (19.0.2) では問題なく動作しますが、IE (10.0.92) では動作しません。

Firefox では「ホームページ」に戻りますが、IE では何もしません。エラーも表示されません。

このコードはこの関数から来ています:

self.addStoreItem = function () {
            var data = appFsMvc.utility.serializeObject( $("#StoreItemForm") );
            $.ajax({
                url: "/api/StoreItems",
                data: JSON.stringify( data ),
                type: "POST",
                dataType: "json",
                contentType: "application/json"
            })
            .done(function () {
                toastr.success( "You have successfully created a new StoreItem!", "Success!" );
                self.StoreItems.push(data);
                location.hash = "#/";
            })
            .fail(function () {
                toastr.error( "There was an error creating your new StoreItem", "<sad face>" );
            });
        };

および sammy.js を管理するコード:

appFsMvc.App = function( StoreItemsViewModel ) {
        return $.sammy( "#content", function () {
            var self = this;

            this.use( Sammy.Cache );
            this.StoreItemViewModel = StoreItemsViewModel;

            this.renderTemplate = function ( html ) {
                self.$element().html( html );
                ko.applyBindings( self.StoreItemViewModel );
            };

            // display all StoreItems
            this.get( "#/", function() {
                this.render("/Templates/StoreItemDetail.htm", {}, function ( html ) {
                    self.renderTemplate( html );
                });
            });

            // display the create StoreItems view
            this.get( "#/create", function() {
                this.render("/Templates/StoreItemCreate.htm", {}, function ( html ) {
                    self.renderTemplate( html );
                });
            });
        });
    };

firbuglite を使用しようとしましたが、この後者を自分の Web サイトで使用しようとするとクラッシュします。IE の開発者ツールにはエラーは表示されません。

[編集]

安定版リリースの代わりにgetfirebug.com/firebuglite#Debugを使用して firebuglite を有効にする方法を見つけました:

コンソールは私にこれらのヒントを与えています:

  • CreateNewItem をクリックしたとき

[Thu Mar 21 15:38:11 UTC+0100 2013] #content runRoute get ///create

GET /Templates/StoreItemCreate.htm 200 OK 5 ミリ秒

POST /api/StoreItems 200 OK 7ms

一方、Firefoxで同じことをすると、次のようになります。

[Thu Mar 21 2013 15:40:41 GMT+0100] #content runRoute get ///create

GET http://myLocalHost:9501/Templates/StoreItemCreate.htm 200 OK 1ms

POST http://myLocalHost:9501/api/StoreItems 200 OK 27ms

[Thu Mar 21 2013 15:40:46 GMT+0100] #content runRoute get /#/

フォームを投稿した後、正しい URL http://localhost:9501/#/createhttp://localhost:9501/#/を与えるアドレス バーの URL を IE で見ることができます。[/編集]

4

0 に答える 0