2014-02-06 5 views
0

Я новый javascript. Мне удалось создать сценарий .load, который загружается в разные виды (с большой помощью). Его работая, но я не знаю, как сказать сценарию для загрузки в соответствующем представлении, когда кто-то использует URL-адрес, например, www.mydomain.com/#view3html5 история api fallback?

Помимо этой уже существующей проблемы я хочу заменить мой текущий загрузите скрипт с api html5 history api и вернитесь к старой, когда браузер клиентов не поддерживает его. Как я могу узнать, поддерживает ли браузер историю api, и если не как сделать резервную копию? Я знаю, что modernizr поддерживает классы css для резервных копий. dooes lib существует для одного и того же в javascript?

Я знаю, что его много спрашивают. им в настоящее время чтения погружаюсь в себя, но им своего рода давление: -/

это мой corrent код:

$(document).ready(function() { 
    $(".con").load("views/startseite.php", function() { 
     $(".scroll").jScrollPane({mouseWheelSpeed:20});$(".jspDrag").hide();$(".jspScrollable").mouseenter(function(){$(this).find(".jspDrag").stop(!0,!0).fadeIn()});$(".jspScrollable").mouseleave(function(){$(this).find(".jspDrag").stop(!0,!0).fadeOut()}) 
    }); 
    $("nav a").click(function (a) { 
     a.preventDefault(); 
     a = $(this).attr("href").split("/").pop().split(".").shift(); 
     $(".con").hide().load("views/" + a + ".php", function() { 
      $(".con").fadeIn("fast", 
       function() { 
        $(".scroll").jScrollPane({mouseWheelSpeed:20});$(".jspDrag").hide();$(".jspScrollable").mouseenter(function(){$(this).find(".jspDrag").stop(!0,!0).fadeIn("slow")});$(".jspScrollable").mouseleave(function(){$(this).find(".jspDrag").stop(!0,!0).fadeOut("slow")})}) 
     }); 
     document.title = "My-Domain.com | " + (a.substr(0, 1).toUpperCase() + a.substr(1)); 
     location.hash = a; 
     return !1 
    }) 
    $(document).on('submit', 'form.ajax', function (e) { 
     e.preventDefault(); 
     var that = $(this), 
      url = that.attr('action'), 
      type = that.attr('method'), 
      data = {}; 
     that.find('[name]').each(function (index, value) { 
      var that = $(this), 
       name = that.attr('name'), 
       value = that.val(); 
      data[name] = value 
     }); 
     $.ajax({ 
      url: url, 
      type: type, 
      data: data, 
      success: function() { 
       $(".flipbox").flippy({ 
        color_target: "", 
        duration: "500", 
        verso: "Anything!", 
        onFinish: function() { 
         $("#no-color").css("background-color", "transparent"); 
        } 
       }); 
      } 
     }); 
    }); 
    $(document).on('submit', 'form.lebenslauf', function (e) { 
     e.preventDefault(); 
     var $this = $(this); 
     $.ajax({ 
      url: './secure/secure.php', 
      type: 'post', 
      data: { 
       code: $('input[name=bewerbung]').val() 
      }, 
      success: function (resp) { 
       if (resp.substr(0, 5) == "Error") { 
        $('.error').html(resp); 
       } else { 
        $('.flipbox').flippy({ 
         duration: "500", 
         verso: resp, 
         onFinish: function() { 
          $(".flipbox").css("background-color", "transparent"); 
         } 
        }); 
       } 
      } 
     }); 
    }); 
}); 

ответ

0

Ну, к сожалению, я не могу помочь вам очень много с вашей проблемой загрузки различных взглядов, но я думаю, я могу дать некоторое представление о второй части вашего вопроса.

Большинства функционального browserstate вы ищете может быть обработаны с history.js: https://github.com/browserstate/history.js/

Он предоставляет вам простые готовые функции и все кросс-браузер, обрабатываются за кулисами. Когда html5 history api недоступен, он автоматически использует хеш.

Надеюсь, это библиотека, которую вы ищете, удачи!

Смежные вопросы