помощь в устранении проблемы с вкладками jQuery UI на iPad - PullRequest
2 голосов
/ 02 апреля 2011

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

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

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

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

РЕДАКТИРОВАТЬ: страница, кажется, работает нормально на iPad2. Это может быть проблема с кешированием, и страница может перестать работать даже на iPad2 - я мог проверить только в магазине Apple. Но я верю, что разметка, кодирование и jQuery ui в основном нормальные, и это проблема iPad Safari.

Ответы [ 3 ]

0 голосов
/ 08 апреля 2011

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

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

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

0 голосов
/ 14 апреля 2011

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

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

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

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

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

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

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

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

0 голосов
/ 07 апреля 2011

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

В частности, попробуйте это:

$ ("ul.tabs a"). Css ('height', $ ("ul.tabs"). Height ());

...