Результаты поиска
Отображение недействительным только в Safari
Один из сайтов, которые я поддерживаю, сильно зависит от использования ViewState (это не мой код). Однако на некоторых страницах, где ViewState является чрезмерно раздутым, Safari выдает ошибку "Validation of viewstate MAC failed" .
Это, кажется, происходит только в Safari. Firefox, IE и Opera все загружаются успешно в том же сценарии.
Проблема С Кнопкой Safari Назад
Я занимаюсь небольшим программированием и веб-работой для местного общественного колледжа. Работа, которая включает в себя поддержание очень большого и душераздирающего веб-сайта, который состоит из Ходж-поджа VBScript, javascript, Dreamweaver, сгенерированного cruft и коллекции дополнений, которые различные мошенники убедили их купить на протяжении многих лет.
Несколько дней назад мне позвонили "The website is locking up for people using Safari!" хорошо, Шаг первый скачать Safari (v3.1.2), Шаг второй серфинг на сайт. Кажется, все работает нормально.
Короче говоря, я наконец-то вычленил проблему, и она относится к кнопке возврата Safari. На сайте используется меню fancy-pants javascript, которое работает в каждом браузере, который я пробовал, включая Safari, в первый раз. Но в Safari, если вы перейдете по ссылке со страницы, а затем нажмете кнопку Назад, Меню больше не работает.
Я сделал сокращенную веб-страницу, чтобы проиллюстрировать этот принцип.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>Safari Back Button Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body onload="alert('Hello');">
<a href="http://www.codinghorror.com">Coding Horror</a>
</body>
</html>
Загрузите страницу, и вы увидите окно оповещения. Затем перейдите по ссылке со страницы и нажмите кнопку Назад. В IE и Firefox вы снова видите окно оповещения, в Safari-нет.
После энергичного поиска в гугле я обнаружил других людей с похожими проблемами, но без действительно удовлетворительных ответов. Таким образом, мой вопрос заключается в том, как я могу заставить мои страницы работать так же, как в Safari после того, как пользователь нажимает кнопку назад, как и в других браузерах?
Если это глупый вопрос, пожалуйста, будьте нежны, javascript несколько ново для меня.
Safari iPad веб страница более 5 мегабайт
в Safari под iPad, заметил особенность, если на одной странице больше 5-6 мегабайт картинок, то после превышении они больше не подгружаются, получается как будто ограничен кеш на одну страницу, замечено это на доступной версии iOS 3.2.2,
может кто знает как такое ограничение можно обойти?
как с этим ограничением будут обстоять дела в iOS 4 версии?
на iPhone полагаю та же проблема?
а вообще нужно чтобы помещалось до 100 мегабайт
UPD:
Обнаружилась проблема при написании каталога для нужд компании, написан он был в одностраничном виде, фактически весь на Javascript, с использованием SenchaTouch, показать то что я разрабатывал не получится
проверить самому сейчас, тоже немного проблематично, так как iPad давали мне на время разработки, которую я уже выполнил, хоть и с таким минусом
сейчас просто сваял страничку с картинками всего на 10мегабайт catalog.kameya.ru,
Как убрать вертикальные отступы у <button> в Safari на iPhone?
В Mobile Safari(прошивка 4.0.1) у <button>'а отступы по краям от текста, паддинги обнулены, -webkit-appeareance:none работает в обычном(десктопном) Safari, но не в мобильной версии. Может кто сталкивался?
пример
button {<br/>
background:pink;<br/>
border:none;<br/>
border-radius:5px;<br/>
color:black;<br/>
cursor:pointer;<br/>
font-size:150%;<br/>
margin:0;<br/>
padding:0;<br/>
position:relative;<br/>
top:30%;<br/>
text-shadow:0 0 1px white;<br/>
overflow:visible;<br/>
-webkit-appearance:none;<br/>
-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.5);<br/>
}<br/>
button {<br/>
background:pink;<br/>
border:none;<br/>
border-radius:5px;<br/>
color:black;<br/>
cursor:pointer;<br/>
font-size:150%;<br/>
margin:0;<br/>
padding:0;<br/>
position:relative;<br/>
top:30%;<br/>
text-shadow:0 0 1px white;<br/>
overflow:visible;<br/>
-webkit-appearance:none;<br/>
-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.5);<br/>
}<br/>
Фоновое изображение для TR криво рендерится в Сафари?
Задал фон для строк таблицы таким образом:
table tr {<br/>
background: url(derevo.png) bottom repeat-x;<br/>
}
Фаерфокс, Опера показывают нормально, фон у строки таблицы монолитен:

А Сафари c Хромом рендерят фон отдельно для каждой ячейки таблицы, отчего становятся видимыми стыки:

Видимо, это связано с ленью разработчиков движков — ведь ряды таблиц визуализируются редко и есть
соблазн уростить себе задачу, позаботившись лишь о рендеринге ячеек. Беглый поиск по гуглю показал, что проблема застарелая и широко известна, даже IE этим переболел или по крайней мере может выживать с небольшим и валидным костыльком.
Это можно забороть штатно или лучше поискать хитрые и кривые решения?
table tr {<br/>
background: url(derevo.png) bottom repeat-x;<br/>
}
Пара вопросов о Safari 5?
1. Когда щелкаешь в строке адреса строка не выделяется автоматически. Приходится или целится в иконку сайта или сначала нажимать CMD+A (Выделить все) и потом вводить адрес. Можно ли сделать так чтобы при щелчке по адресу он автоматически выделялся (т.е чтобы работало как в Firefox).
2. Как убрать ограничение на максимальное видимое количество открытых табов? Т.е после какого-то момента табы на панели не отображается, а скрываются за значком >> справа (опять таки хочется чтобы работало как в Firefox).
-webkit-transform не изменяет фактические размеры DOM-элемента
При повороте элемента на 90° с помощью -webkit-transform заметил такую аномалию, что фактические его размеры не изменяются и контейнер с нефиксированным размером никак не «реагирует».
Такой-вот код:
<style>
.c {
float: left;
overflow: visible;
background: blue;
}
.c div {
display: block;
background: #red;
-webkit-transform: rotate(-90deg);
}
</style>
<div class="c">
<div>12345</div>
</div>
генерирует следющий результат:

Можно ли как-то решить эту проблемму без жесткого указания размеров трансформируемого элемента?
.c {
float: left;
overflow: visible;
background: blue;
}
.c div {
display: block;
background: #red;
-webkit-transform: rotate(-90deg);
}
</style>
<div class="c">
<div>12345</div>
</div>