Zurb Foundation Interchange не работает, имя_узла не определено

Я пытаюсь использовать обмен для изменения изображений в зависимости от размера экрана.

Однако при инициализации обмена изображения не загружаются. Затем, когда я изменяю размер браузера (1024px и ниже), я получаю сообщение об ошибке в консоли:

Uncaught TypeError: Cannot read property 'nodeName' of undefined 

Который относится к строке 47 из foundation.interchange.js, которая:

if (/IMG/.test(el[0].nodeName)) {

Код, который я пытаюсь использовать:

<img data-interchange="[http://www.example.com/image.png, (default)], [http://www.exmaple.com/image-large.png, (large)]" />

Это полностью стандартно согласно документации Zurb. Я удостоверился, что изображения существуют, что они делают.

Я использую Foundation версии 5.2.2.

Есть идеи?

1 ответ

У меня была эта проблема, и я решил ее, выполнив несколько простых тестов...

Попробуйте некоторые из них:

  1. Проверка - вы вызываете только один экземпляр пути к скрипту 'interchange.js'

Зачем? - Это гарантирует, что вы избежите дублирования вызовов функций в плагине.

Как? - Ctrl-f (найти) слово "interchange.js" на исходной странице просмотра

Это лучший способ проверить это, особенно если вы работаете в инфраструктуре MVC или вложенных веб-форм.

  1. Чек - $(документ).foundation(); вызывается после загрузки скрипта interchange.js

например. В ЭТОМ ПОРЯДКЕ....

<script src="/foundation/foundation.js")></script>
<script src="/foundation/foundation.interchange.js"></script>

<script type="text/javascript">
    $(document).ready(function () {

        $(document).foundation();

     });
</script>

Зачем? - Обмен, как мне кажется, должен существовать уже после того, как основа будет создана.

Я надеюсь, что эти варианты помогут - извините, если это немного простой - но стоит попробовать все те же ура

Другие вопросы по тегам