Список известных отличий "Safari на iPad" от "Desktop Safari"

В недавнем тестировании веб-приложения в настольных браузерах Windows/Mac, а затем на iPad я заметил различные различия в Safari, которые я не ожидал. хотя версия # такая же.

Я хотел бы составить список этих различий (для себя и других), чтобы иметь в качестве ссылки для разработчиков.

например, в Safari на iPad

  • iPad Safari полностью контролирует стиль выбора списка / опций
  • iPad открывает экранную клавиатуру, когда элемент ввода получает фокус, поэтому встроенные плавающие виджеты календаря (и тому подобное) могут работать не так, как ожидалось (или должны быть изменены)
  • iPad Safari не поддерживает position:fixed как настольный Safari
  • iPad Safari (похожий на iPhone / iPodTouch Safari) автоматически делает гиперссылку на 10-значные номера, чтобы предложить номер телефона / контактные данные
  • iPad Safari prompt('long message...','default'); показывает только 1 строку сообщения (хотя она обеспечивает прокрутку сообщения

Я слышал от других, что определенный JavaScript не работает и т. Д. И т. Д., Но мне еще предстоит полностью его протестировать, поэтому я буду благодарен за любые открытия, с которыми вы могли столкнуться.

17 ответов

Еще несколько для вас:

  1. Нет вспышки
  2. Поддержка Lousy iFrame (поэтому Facebook, как и т. Д., Нужна индивидуальная реализация для iPad)
  3. Странные ограничения кеширования
  4. HTML textAreas не имеет полосы прокрутки (вам нужно провести двумя пальцами - что, конечно, удивительно интуитивно понятно)

В общем. Относитесь к нему как к уменьшенному iPhone, а не к уменьшенному рабочему столу.

Смещение jQuery () не работает: http://bugs.jquery.com/ticket/6446

Safari на iPad имеет ту же проблему с шириной кнопок / отступов, что и на iPhone

iPhone

Я подумал, что это может быть полезно: руководство Apple по подготовке веб-контента для iPad

Только что был пойман с позиции: исправлена ​​проблема моей самости

Похоже, что у iPad Safari есть проблемы с элементами overflow:auto; поэтому должны отображаться полосы прокрутки ( тестовая страница с элементами div и iframe).

iPad Safari, кажется, испытывает проблемы с обработкой фоновых изображений в редких случаях, показывая странные линии нижнего содержимого.

В Google не так много об этом (пока).

Браузер iPad не поддерживает загрузку файлов (даже если он поддерживает его, он будет бесполезен, поскольку у iPad нет стандартного Браузера файлов). Поле файла отображается с кнопкой Выбрать файл, выделенной серым цветом.

Теперь вы можете управлять стилем списков выбора на iOS, сбросив его с помощью -webkit-appearance: none;

Кажется, есть ошибка в iPad Safari, когда элемент CSS с фоновым изображением и цветом фона отображается с небольшой границей в цвете фона. Он должен заполняться фоновым изображением вплоть до края визуализируемого элемента.

У меня просто была такая же ошибка на моем сайте, когда я пытался просмотреть ее на Ipad. Структура HTML выглядит так:

<div class="main"> <!-- background-color: white -->
   <div class="left"></div> <!-- background-image: url(some_transparent_png) -->
   <div class="content">...</div>
   <div class="right"></div> <!-- background-image: url(some_transparent_png) -->
</div>

Левый слой использует фоновое изображение, тогда как основной слой использует только фоновый цвет. Вид Ipad показывает небольшую границу на краю левого и правого слоя.

Когда я добавлю

 -webkit-background-size: 100% 100%;

слева и справа слой исчезает.

Кроме того, не поддерживает полосу прокрутки в TextAea, кажется, что мы можем использовать javascript для автоматического выбора текста в TextArea. Этот код будет только перемещать курсор в конец текста в TextArea.

<div>
  <textarea id="text-embed-code" autocapitalize="off" multiline="">
There is a fox running after chrome.
  </textarea>
  <button onclick="testSelectText(event);">select text</button>
</div>
<script>
  function testSelectText(e) {    
    var box = document.getElementById("text-embed-code");
    box.select();
    e.preventDefault();
    return false;
  }
</script>

Кажется, есть ошибка в iPad Safari, когда элемент CSS с фоновым изображением и цветом фона отображается с небольшой границей в цвете фона. Он должен заполняться фоновым изображением вплоть до края визуализируемого элемента.

Кадровые проблемы. iPad Safari будет скрывать полосы прокрутки и расширять фреймы до размера их содержимого. Изменение тега фрейма для включения scrolling="yes" а также noresize="noresize" Похоже, ничего не делать. Некоторые сайты отлично смотрятся на всем, даже на браузере Dreamcast, но не на iPad. Проблема может быть исправлена ​​с помощью таблиц и фреймов вместо обычного набора фреймов (столбцы и строки и т. Д.).

Это правило исправляет мерцание анимации в Safari на устройствах iOS:

body {-webkit-transform:translate3d(0,0,0);}

24-битные прозрачные PNGS над определенным размером файла не отображаются на iPad2.
Однако я могу получить 8-битные с одинаковыми размерами для рендеринга.
Я не выяснил, что это за максимальный размер файла, чтобы заставить их отображать.

В настоящее время я работаю над небольшим адаптивным веб-приложением, которое интенсивно использует API-интерфейс iframe youtube. По-видимому, версия Safari для ipad не поддерживает несколько методов html5, которые я интенсивно использую в этом проекте.

Одним из них является window.postMessage, который является способом взаимодействия со сценариями на других страницах, например сценарием, который используется "внутри" этого iframe. Автозапуск видео тоже не работает.

position: fixed; 

Не работает в iOS 4, но работает на iOS 5.

Я также обнаружил, что contenteditable не поддерживается в мобильном сафари, поэтому использование простого textarea это лучшая ставка. Документы для разработчиков Apple

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