Arhn - архитектура программирования

Ошибка: «History.Adapter» имеет значение null или не является объектом

js и все отлично работает во всех браузерах, кроме IE8. у меня следующая ошибка

Ошибка: «History.Adapter» имеет значение null или не является объектом

Мой код:

@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"

            ));

  • похоже, у вас нет Adapter в классе History конкретно в IE8 21.11.2013
  • Загружен ли jQuery, и если да, то перед history.adapter.jquery.js? 21.11.2013
  • попробуйте добавить var History = window.History; после $(document).ready(function () { 21.11.2013
  • также взгляните на этот ответ. 21.11.2013

Ответы:


1

Для корректной работы в 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>
21.11.2013
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..