помощь в устранении неполадок с вкладками пользовательского интерфейса jQuery на iPad


Я был бы признателен за некоторые указания о том, как устранить эту проблему. Краткое изложение ситуации:

    У меня есть большой документ (200K), разделенный на пять основных разделов неравномерной длины, каждый из которых соответствует вкладке пользовательского интерфейса jQuery. Эта страница отлично работает в Safari для Windows, Safari для Macintosh, Opera, Firefox, Chrome и IE.
  1. Страницараньше тоже работала на iPad, но теперь она не работает, и это iPad изменился, а не страница.

На iPad содержимое вкладки теперь отключается. Например, одна из страниц-это глоссарий, который начинается с буквы А-Z и заканчивается на букве-Н-. Раньше он прокручивался до-Z -. По какой-то причине iPad Safari не дает каждой вкладке полного вертикального пространства, необходимого для ее содержимого.

Я посмотрел на код пользовательского интерфейса jQuery для вкладок show, и он, похоже, меняет классы CSS hide/show, но я не ниндзя javascript-кодер. С чего мне начать? выясните, что не так на iPad, когда моя страница работает так, как ожидалось в любом другом браузере?

EDIT: страница, кажется, работает нормально на iPad2. Это может быть проблема с кэшированием, и страница может перестать работать в какой-то момент даже на iPad2-я мог тестировать только в Apple store. Но я считаю, что разметка и кодирование и пользовательский интерфейс jQuery по существу в порядке, и это проблема iPad Safari.

3 2

3 ответа:

Я не могу стрелять в себя без кода, но самый лучший способ стрелять в такие ситуации-использовать инструмент под названием Weinre. Очевидно, что если один браузер (iPad) испытывает проблемы, вам нужно устранить неполадки непосредственно с ним. Это сложно, так как iPad не имеет инструментов разработчика, но Weinre действительно может дать вам (большую часть) этого по сети.

Следуйте инструкциям здесь , но по крайней мере вам нужно предоставить ~/.weinre/server.properties, который содержит это:

boundHost:    -all-
httpPort:     8081 
reuseAddr:    true 
readTimeout:  1 
deathTimeout: 5

, Что скажет weinre для прослушивания на каждый IP на порт 8081. Запустите Weinre (через OS X runner или с помощью java -jar weinre.jar в командной строке.

Затем вы добавляете специальный тег script на главной странице:

<script src="http://YOUR_IP_NUMBER:8081/target/target-script-min.js"></script>

После этого вы запускаете Safari или Chrome и переходите к http://localhost:8081/client/. Если все прошло по плану, вы увидите интерфейс Weinre, который является подмножеством инструментов разработчика WebKit.

Теперь подключитесь к своей машине разработки с помощью iPad или симулятор. Если тег script верен, Weinre подключается к iPad, и в вашем распоряжении имеется довольно большое подмножество инструментов разработчика WebKit для устранения неполадок. Удачи вам!

В предыдущих версиях вкладок jQuery UI была функциональность, которая позволяла манипулировать высотой вкладок. Проверьте ответы на этот вопрос: jQuery UI Tabs-Automatic Height

В частности, попробуйте следующее:

$("ul.вкладки а").css ('height', $("ul.вкладки").высота ());

Я уверен, что это не тот ответ, на который вы надеетесь, но это звучит как ошибка, о которой следует сообщить Apple.

У вас есть страница, которая отлично работает в любом другом браузере, и я думаю, что в интересах Apple, чтобы она работала и на iPad.

Там могут быть и другие страницы, которые раньше работали, но теперь не работают, поэтому я бы счел эту ошибку довольно приоритетной.