Как найти background-position / background-image и т. Д. Для нескольких фонов с помощью jQuery в Safari

Возможно, я что-то здесь упускаю.

I Я пытаюсь получить текущую информацию о фоне для элемента ( div ) с несколькими фонами, установленными с помощью длинных background-repeat , background-position и background-image .

Используя jQuery, я просто выполняю var bPos = $ ('# element'). Css ('background-position') , чтобы получить набор текущих позиций , что даст мне что-то вроде '0 0, 100px 100px, left bottom' в Firefox и Chromium (в настоящее время версии 5 и 12 соответственно), но в Safari (версия 5 в OS-X) он просто возвращает первая пара значений ( '0 0' ). Эти значения CSS устанавливаются во внешней таблице стилей.

Кто-нибудь знает, почему это так и как это сделать, чтобы получить полный набор пар значений в Safari (с использованием сокращенной записи background ] тоже не делает этого)?

Правка:

Вот CSS, который используется во внешней таблице стилей:

#page{
    background-repeat: repeat-x, repeat-x, repeat-x, repeat-x, repeat-x;
    background-image: url('../images/line.png'), url('../images/line.png'), url('../images/line.png'), url('../images/line.png'), url('../images/line.png');
    background-position: 0 798px, 0 653px, 0 125px, 0 88px, 0 78px;
}

Правка:

Хорошо, я сделал тестовый пример для этого на jsFiddle и сообщили об этом как об ошибке jQuery , поскольку она кажется воспроизводимой (хотя я согласен с тем, что это может быть проблема реализации браузера, а не ошибка jQuery).

Тем не менее, если у кого-то есть идеи ...

Изменить:

Тикет jQuery был закрыт - я понимаю, что это означает, что это ошибка Safari - я не совсем уверен, как двигаться дальше, но я опубликовал отчет об ошибке в Apple.

Изменить:

Как указал Синдре Сорхус, похоже, это было исправлено в Safari 5.1.

35
задан kiamlaluno 29 September 2012 в 23:22
поделиться