2015-10-19 3 views
0

У меня есть небольшая проблема, которая прослушивает меня несколько часов, поэтому я прихожу к вам, ребята, за помощью.Ошибка при загрузке файла JQuery 2.1.4

В ситуации: Я использую jQuery-2.1.4.js в своем приложении. Если я тестирую свой фрагмент кода вне приложения, он работает правильно, но когда он находится в моем приложении, JQuery не загружается правильно.

JQuery правильно включен в мой репозиторий и вызывается на моей странице до конца тега тела, подобного этому (я удалил его из заголовка заголовка, что может быть проблемой, но у меня все еще есть такая же ошибка):

<script type="text/javascript" src="js/jquery-2.1.4.js"></script> 

я проверить, если Jquery правильно загружена так:

if (typeof jQuery == 'undefined') { 
    // jQuery is not loaded 
    alert("jquery not loaded,force it"); 
    var jq = document.createElement('script'); 
    jq.type = 'text/javascript'; 
    // Path to jquery.js file, eg. Google hosted version 
    jq.src = 'js/jquery-2.1.4.js'; 
    document.getElementsByTagName('head')[0].appendChild(jq); 
} else { 
    // jQuery is loaded 
    alert("jquery is loaded"); 
} 

вопрос здесь сейчас :), каждый раз я в конечном итоге в не нагруженной части, и когда я заставляю Jquery нагрузки, я получил строка 3539 ошибки файла JQuery для функции:

function Data() { 
    Object.defineProperty(this.cache = {}, 0, { 
     get: function() { 
      return {}; 
     } 
    }); 
    this.expando = jQuery.expando + Data.uid++; 
} 

С сообщением об ошибке:

Этот объект не имеет это свойство или метод: defineProperty (не уверен насчет английского для этого, мое сообщение об ошибке на французском языке).

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

В любом случае, спасибо, что нашли время, чтобы помочь мне.

Slayner.

+0

У вас есть 'expando' загружен? https://github.com/cantino/expando – ryanpcmcquen

+0

Я не знаю, что сообщение об ошибке находится на Object.defineProperty, оно не идет до загрузки expando. Кстати, я даже не использую эту часть JQuery, но она все равно пытается запустить ее. – Slayner

+0

'expando' не является частью jQuery, это плагин для jQuery. Поэтому, помимо загрузки jQuery, вам также нужно загрузить 'expando'. – ryanpcmcquen

ответ

1

Вам необходимо включить библиотеку expando, так как она не является частью стандартного jQuery. Попробуйте добавить это:

<script src="//cdn.rawgit.com/cantino/expando/38affee59bffdd87975c492472362c69ce0f6fda/jquery.expando.js"></script> 

Сразу после этого:

<script type="text/javascript" src="js/jquery-2.1.4.js"></script> 
+0

Похоже, у вас есть новый вопрос, чтобы спросить @ Слайнера. – ryanpcmcquen

+0

Хорошо, что я плохой, я удалил свой комментарий, у меня все еще была та же проблема, что и сейчас, это время, чтобы показать мне сообщение об ошибке, но тем не менее, кстати. – Slayner

+0

@Slayner, 'Object.defineProperty()' является родным JavaScript, возможно, вы можете проверить это в другой среде, например https://jsfiddle.net? https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty – ryanpcmcquen

0

Итак, причина, почему это не работает для меня было то, что наше приложение загружается в качестве приложения IE5 и не совместим с JQuery (ну не версия из этих последних нескольких лет.)

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