Как отладить различное поведение одного и того же браузера на разных платформах? - PullRequest
3 голосов
/ 10 июня 2011

Я пытаюсь использовать метод text-overflow: ellipsis, представленный в этой статье: http://mattsnider.com/css/css-string-truncation-with-ellipsis/ который работает на удивление во всех браузерах.

Однако проблема, с которой я сталкиваюсь, заключается в том, что она не работает корректно в комбинации с Ubuntu + Chrome 11, а в том же браузере на Mac это нормально.

Так что мне любопытно узнать, как обнаружить подобные проблемы и понять причину разного поведения одних и тех же браузеров на разных платформах.

Ответы [ 3 ]

2 голосов
/ 30 июля 2011

Функция text-overflow:ellipsis общеизвестно трудна для обнаружения поддержки.Для большинства современных функций браузера можно запустить код Javascript, который определит, поддерживает ли браузер эту функцию или нет (см. Проект Modernizr для окончательного примера этого), но, к сожалению, text-overflow потерпел поражениеусилия даже самых решительных авторов сценариев обнаружения функций.

Таким образом, вы ограничены простым поиском заранее, какие браузеры поддерживают его, а какие нет.

CanIUse *1009*сайт

является хорошим справочником для такого рода вещей;у них есть таблицы поддержки браузеров для большинства функций браузера, включая text-overflow.

Кстати - из таблицы по этой ссылке вы заметите, что text-overflow в настоящее время не поддерживается в Firefox;Вас может заинтересовать этот вопрос: переполнение текста: многоточие в Firefox 4?(и FF5) , где я спросил, есть ли какие-либо обходные пути (краткий ответ: нет, нам просто нужно дождаться выпуска FF7).

Однако они не делаютразличать платформы на своих столах поддержки;Предполагается, что данный браузер работает практически одинаково на всех платформах.Это, конечно, не всегда так.Вы специально упоминаете, что у вас были проблемы с Chrome в Ubuntu, но не на других платформах.Я нахожу это довольно странным, поскольку функция многоточия, похоже, вряд ли содержит в себе что-либо, требующее поддержки конкретной платформы, но если это так, то это хорошая демонстрация того, что один и тот же браузер не всегда может быть одинаковым на разных платформах.

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

В данном конкретном случае это звучит очень странно - достаточно странно, что, возможно, стоит опубликовать отчет об ошибке в Chrome, если вы можете создать простой тестовый примеркоторый работает в последней версии Chrome для Windows или Mac, но не в Linux.

0 голосов
/ 10 июня 2011

Используйте Инструменты разработчика на Chrome и посмотрите, есть ли опция отладки. Я не знаю о Chrome, но IE может отлаживать его в IE Developer Tools.

0 голосов
/ 10 июня 2011

Используйте JS Framework, если можете.Чем больше сообщество фреймворков, тем меньше вероятность того, что что-то будет некорректно работать в конкретной комбинации ОС + браузер.

РЕДАКТИРОВАТЬ: Вот пример того, как YUI нормализует text-overflow: ellipsis для всехбраузеры:

http://yuilibrary.com/gallery/show/ellipsis

Если это не вариант, используйте виртуальные машины для проверки поведения вашего приложения на разных платформах.

...