Список известных отличий "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 ответов
Еще несколько для вас:
- Нет вспышки
- Поддержка Lousy iFrame (поэтому Facebook, как и т. Д., Нужна индивидуальная реализация для iPad)
- Странные ограничения кеширования
- HTML textAreas не имеет полосы прокрутки (вам нужно провести двумя пальцами - что, конечно, удивительно интуитивно понятно)
В общем. Относитесь к нему как к уменьшенному iPhone, а не к уменьшенному рабочему столу.
Смещение jQuery () не работает: http://bugs.jquery.com/ticket/6446
Safari на iPad имеет ту же проблему с шириной кнопок / отступов, что и на iPhone
iPhone описывает эту проблему и решение по удалению отступа для кнопки с текстом, но это не поможет вам, если вы хотите, чтобы кнопка была уже, чем сама заливка (например, для кнопки, на которой только маленький значок). Чтобы сделать это, мне нужно было окружить кнопку внешним элементом с определенной шириной и переполнением: скрыто так:
<span style="border: solid 1px blue; display: block; width: 16px; overflow: hidden">
<button style="-webkit-appearance: none; border-width: 0"> </button>
</span>
(синяя рамка показывает, где находится кнопка, это не критично для взлома)
Я подумал, что это может быть полезно: руководство 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. Автозапуск видео тоже не работает.
Я также обнаружил, что contenteditable
не поддерживается в мобильном сафари, поэтому использование простого textarea
это лучшая ставка. Документы для разработчиков Apple