AJAX на iPhone?

У меня есть сайт, который я разработал, прилично использующий Javascript и минимально использующий AJAX для некоторых вещей. Сайт отлично работал на iPhone, пока я не добавил функция для создания дескриптора HttpRequest, после чего весь Javascript на iPhone теперь молча дает сбой. Итак, у меня есть несколько вопросов.

(1) Похоже, что AJAX вообще не работает на iPhone. Это правда? Если нет, как я могу изменить функцию создания HttpRequest для размещения iPhone?

(2) Если AJAX действительно невозможен на iPhone, есть ли способ изменить указанную функцию, чтобы она корректно не работала на iPhone, а другие скрипты на странице по-прежнему работали?

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

Что бы также работало довольно хорошо, так это возможность использовать CSS для определения iPhone как устройства отображения и действовать соответствующим образом, аналогично тому, что вы используете с Opera Show. Конечно, это не решит проблему с AJAX, но было бы неплохо. ^ _ ^

Спасибо за ответы. Некоторые из моих клиентов регулярно заходят на сайт с iPhone, и я хочу, чтобы мои страницы работали максимально эффективно, поэтому я готов изменить свой код для него, даже если у меня нет его для тестирования.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
0
17 130
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Нет никаких причин, по которым AJAX не работал бы на iPhone, многие сайты Google / facebook и т. д. Отлично его используют.

Ваш AJAX работает в Safari / Mac? Это самое близкое приближение, которое вы получите в немобильной среде.

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

Да, я регулярно тестирую его в Safari для Windows. У меня нет (и не хочу) Mac для тестирования. Возможно, я просто занимаюсь чем-то другим ...

Nicholas Flynt 04.11.2008 02:27

Я бы посоветовал не использовать w3schools для вашей основной справки, они представляют собой смесь нестандартной информации, предназначенной только для IE. Попробуйте более проверенную реализацию AJAX, например jQuery?

Gareth 04.11.2008 02:29

Вау, действительно? Я решил (исходя из названия), что они были более стандартными, чем это ... Спасибо за информацию. Это, наверное, моя проблема прямо здесь. То есть, если бы это был я, я бы сразу не стал использовать версию IE (ActiveX должен умереть), но я знаю, что, вероятно, мне не следует этого делать ... ^ _ ^)

Nicholas Flynt 04.11.2008 02:46
Ответ принят как подходящий

Конечно, iPhone поддерживает ajax, посмотрите http://developer.apple.com/webapps/, чтобы получить КУЧУ ресурсов по разработке веб-приложений для iPhone. Я бы порекомендовал использовать фреймворк (например, jQuery или iUI (для ui)) вместо того, чтобы использовать собственную функциональность ajax, он уже устранит многие причуды браузера и будет оптимизирован.

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

Cœur 25.03.2018 15:08

Одним из полезных ресурсов для устранения подобных ошибок JavaScript на устройстве является консоль отладки. Он должен сообщать обо всех ошибках синтаксического анализа, а также может использоваться для регистрации сообщений и исключений. Вы можете включить его, выбрав «Настройки»> «Safari»> «Разработчик» (прокрутите вниз).

Aax отлично работает на iPhone, даже наши самые продвинутые вещи, такие как Стартовый набор Ajax Calendar, безупречно работают, по крайней мере, на моем iPhone (3G)

AJAX работает очень хорошо. Если вам нужна небольшая, простая в использовании оболочка для AJAX, вам следует проверить https://sourceforge.net/projects/quickconnect/. Он содержит оболочку ServerAccessObject, находящуюся в файле ServerAccessObject.js.

Блог разработчиков QuickConnectiPhone находится по адресу http://tetontech.wordpress.com.

Недавно я столкнулся с той же проблемой при использовании jQuery, но проблема заключалась в поведении Safari Mobile. Может быть, и в вашем случае.

Сократите URL-адрес ajax с «http: // / полный / URL» до «/ просто / относительно / до / корня / части».

Кстати, это был @pillsbur, который изначально нашел здесь решение:

http://www.webmasterworld.com/javascript/3382262.htm

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