2013-11-21 3 views
1

js и все работает отлично во всех браузерах, кроме IE8. Я Следующая ошибкаОшибка: «History.Adapter» является нулевым или нет объектом

Error: 'History.Adapter' is null or not an object

Мой код:

@Scripts.Render("~/bundles/history") 
<script type="text/javascript"> 

    var History = window.History; 
    $(document).ready(function() {   
    change(1, '#catalog');   

    History.Adapter.bind(window, 'statechange', function() { 
     try { 
      var State = History.getState(); 
      $('#Products').load(State.url); 
     } catch (e) { 

     }  
    }); 

    function change(id, ItemMenu) { 
     var url = $('#' + id).val(); 
     try 
     {   
      History.pushState({}, null, url); 
     } 
     catch(e) 
     { 
     }     

    } 
</script> 

и скрипты:

bundles.Add(new ScriptBundle("~/bundles/history").Include(
      "~/Scripts/History/history.adapter.jquery.js", 
      "~/Scripts/History/history.html4.js", 
      "~/Scripts/History/history.js", 
      "~/Scripts/History/json2.js" 

      )); 
+0

похоже, что у вас нет «адаптера» в классе «История» в IE8, конкретно – zzlalani

+0

Загружен ли jQuery, и если да, то перед history.adapter.jquery.js? –

+0

попробуйте добавить 'var History = window.History;' после '$ (document) .ready (function() {' – zzlalani

ответ

0

Для правильной работы в IE 8 вам нужно разместить инициализации history.js и History.Adapter.bind внутри $ (document) .ready (...) Это будет работать во всех браузерах ... и IE 8 до

@Scripts.Render("~/bundles/history") 
<script type="text/javascript"> 
    $(document).ready(function() { 
     var History = window.History; 

     History.Adapter.bind(window, 'statechange', function() { 
      try { 
       var State = History.getState(); 
       $('#Products').load(State.url); 
      } catch (e) { 

      } 
     }); 
    }); 


    function change(id, ItemMenu) { 
     var url = $('#' + id).val(); 
     try 
     {   
      History.pushState({}, null, url); 
     } 
     catch(e) 
     { 
     }     

    } 
</script> 
Смежные вопросы