JQuery Mobile 1.4.5, по-видимому, не вызывает JavaScript на Ipad - PullRequest
0 голосов
/ 21 февраля 2019

Использование JQuery для мобильных устройств 1.4.5 (https://jquerymobile.com/)

По иронии судьбы все работает в настольных браузерах, но при тестировании на iPad я не могу заставить работать что-либо ...

Моя урезанная страница (HTML) содержит следующее:

<div data-role="content">
 <script src="test.js"></script>    
 <script>
  $( document ).on( 'pagecreate', function( event ) { do_something(); });
 </script>
</div>

Файл "test.js" содержит следующий код:

function do_something() {

   alert('here in do_something()');

}

При тестированиина iPad все, что я получаю, - это серый кружок с вращающейся в нем «вращающейся кометой», и страница даже не отображается (да, я попытался перезагрузить iPad, очистить историю / данные браузера и т. д.).

Во всех других браузерах я получаю предупреждение.

В конечном счете, я пытаюсь загрузить карты Google на страницу вместе с JavaScript, который мне нужен, чтобы манипулировать различными элементами DOM, а также манипулировать картой - чтоЯ МОГУ работать и работаю во всех других браузерах - просто не могу заставить что-то работать при тестировании на iPad (я не знаю, как просматривать исходные или консольные сообщения через iPad Safari, что делает отладку кошмаром).

ЛЮБЫЕ предложения будут полезны.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Спасибо всем, кто предоставил некоторую информацию ...

Оказалось, что это был внешний файл javascript, который содержал блок try / catch в виде:

try {
   // code
}
catch {
   // code
}

При изменении на:

try {
   // code
}
catch(err) {
   // code
}

... после внесения изменений все тесты пройдены !!

0 голосов
/ 21 февраля 2019

Прежде всего, вы пропустили какую-то важную информацию, например, работали ли «все остальные браузеры» на вашем настольном компьютере или мы говорим о других мобильных устройствах?Это очень важно.

Как вы можете видеть, это означает, что загружены jQuery Mobile и jQuery.

Если они были успешно запущены на вашем настольном компьютере, вы можете проверить следующее:

  • Убедитесь, что ни один из ваших материалов не запущен на локальном хосте или с него.Это будет отлично работать на настольных компьютерах, но если вы попытаетесь протестировать его на любом другом устройстве, это не удастся.
  • Убедитесь, что вы не используете абсолютный путь в приложении jQM, это также не удастся на любомудаленное устройство.Я предполагаю, что нечто подобное может иметь место, так как jQM не может показать первую страницу
  • Вам нужно будет использовать функцию удаленной отладки.Поскольку вы используете iPad, я снова предполагаю, что у вас есть Mac.Следуйте этому руководству: https://appletoolbox.com/2014/05/use-web-inspector-debug-mobile-safari/, так как это единственный надежный метод, где вы найдете, что было не так.К сожалению, если вы используете Windows-машину, вам нужно будет использовать Chrome и устройство Android.
  • Существует также вероятность того, что часть вашего * .js-контента загружается с локального хоста или из других источников, недоступных для вашего iPad.Это также может иметь место, так как вы заявили выше, предупреждение не срабатывает на iPad.Это означало бы, что произошел какой-то серьезный JavaScript, что блокирует загрузку другого контента JavaScript.
  • И есть еще один надежный метод, который вы можете использовать, который всегда помог мне в этом случае.Обрежьте ваш код до минимума, даже если это означает, что вам нужно удалить большую часть содержимого HTML и JavaScript.Проверьте это, если оно работает, начните включать удаленный контент.Сначала включите удаленный контент JavaScript, CSS и тому подобное.Тогда, если это все еще работает, начните включать фактический HTML и код.Рано или поздно вы наткнетесь на проблемный код, отсутствующий контент или контент, который не был загружен в ваш iPad.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...