Так у Вас же прайс загружается в iframe c docs.google.com, и в этом iframe в стилях такое как раз есть, но это не важно. Я просто не понял сначала вопроса, поэтому написал о той таблице, которую сразу увидел.
А менять глобальные стили для "table, td, th" я бы не стал, это повлияет на весь сайт, лучше только для класса данной ячейки (.page1) задать новый стиль.
Unlock: Есть ли какой-то не сложный вариант передать post запрос через промежуточную страницу, с редиректом типа того, что Вы дали страницей раньше.
Нужен какой-то обработчик на стороне сервера (например на PHP), который динамически сформирует страницу с формой, аналогичной той, что у пользователя на странице и с уже заполненными полями (на основании перебора элементов присланного массива $_POST, т.е. вставит в эту форму все присланные методом POST переменные с их значениями) и добавит на эту страницу скрипт, который вызовет оправку этой формы, как только страница загрузится к пользователю. Ну и естественно что на этой странице будет предупреждение, что возможно длительное ожидание ответа.
На этой сгенерированной форме можно добавить еще и GET-переменную, чтоб при приходе запроса от сгенерированной формы не произошло зацикливание отправкой загрузочной страницы.
Или этот обработчик сгенерит страницу не с формой, а со скриптом, который отправит при попадании к клиенту правильный POST-запрос например с помощью jQuery (опять же на основании анализа присланных POST-переменных).
И вот тогда можно вызывать при POST-запросах этот обработчик аналогично вызову странички с одной строчкой скрипта при GET-запросах.
Unlock: Просто я почти все костыли поставил, все вроде бы неплохо выглядит. Вот только с поисковой формой осталась проблема.
если поисковая форма уже есть у пользователя, то значит страницу он уже загрузил, т.е. софт работает.
А если софт перезапустили пока посетитель уже находится на странице и набирает что-то там в поисковой форме, то корректный ответ он на запрос из формы не получит ни с какими костылями (это возможно только если заранее запрограммировать решение подобной ситуации в самом софте).
Единственное, что можно изобрести в этом случае, это при невозможности ответить на POST-запрос делать перенаправление пользователя на загрузочную страницу.
Но здесь придется повозиться с программированием и на стороне сервера, и на стороне клиента.
На стороне сервера нужно найти какой-то признак, по которому делать вывод о невозможности получения ответа от софта без обращения к самому софту (например наличие или отсутствие какого-то файла) и в этом случае не обращаться к софту (который будет долго не отвечать), а отдавать скрипт, аналогичный мною приведенный раньше, но с перенаправлением на страницу без прараметра (загрузочную).
А саму форму (может быть) переделать так, чтоб она могла принимать не только стандартный ответ, но и выполнить присланный вместо ответа скрипт.
Хотя если если это стандартная HTML-форма, то любой ответ приводит к полной перезагрузке страницы и сервер может просто отдать 302 редирект на загрузочную страницу без всякой переделки формы и переделка потребуется только на серверной стороне (обучить сервер в некоторых случаях отдавать этот редирект).
Unlock: Кстати, а такой редирект не заддосит сервер? Это же повторяющиеся обращение к странице.
Это не повторяющиеся обращения, а единственная переадресация.
Но если сервер не будет проверять наличие параметра, и на любой запрос отдавать загрузочную страницу, то все зациклится и пользователь никогда не получит основную страницу.
Кстати из формы запрос скорей всего идет не методом GET, а может быть методом POST (а у Вас может даже и "HTTP verb") и его протранслировать через промежуточную страницу такой простой переадресацией не получится.
А Вот при отдаче промежуточной страницы проверить, чтоб она отдавалась только при запросе страницы методом GET может и следует, иначе можно заблокировать работу формы.
Я позволяю в таких случаях клиенту использовать то, что ему больше нравится, а при обработке данных таких полей сразу делаю замену возможной запятой на точку.
Unlock: Можно ли определять, что страница пока не доступна и проверять загрузилась ли она и пока нет, выдавать определенно сообщение пользователю. Т.е. сделать все ссылки на страницу через какую-то промежуточную, которая будет мониторить загрузку целевой страницы и до тех пор, пока та не загрузится, выдавать сообщение. Как только страница загружена, то происходит редирект. Как-то так мне это видится. Но как такое сделать, не понимаю.
Unlock, Вы уже почти ответили на свой вопрос
Unlock: Вот представьте, что Вы переходите на страницу, но ее загрузка не идет, т.е. Вы просто ждете 2 минуты, но страница не грузится вообще. Т.е. Вы сидите на странице откуда переход делаете и ее код в броузере видно.
Нужно только сделать чтобы страница, с которой происходит переход была не любая страница, а страница Ваша, с предупреждением о возможности долгой загрузки страницы.
А содержимое страницы очень простое, текст с предупреждением, может еще гифка анимированная, чтоб создавалось впечатление что процесс идет и скрипт редиректа:
Эта полоса у Вас нарисована на картинках, которые вы используете как background
начинается она на menu-bottom-bg.png (ее прекрасно видно, если откроете на просмотр картинку)
А дальше идет в
bg.png
(здесь ее трудно разглядеть на картинке при ее высоте в 1px, но если вы на сайте уберете background в стилях для #main, то и полоса исчезнет)
Отписал в личку
.tblGenFixed td.s2
.tblGenFixed td.s3
такого в стилях вообще нету
Так у Вас же прайс загружается в iframe c docs.google.com, и в этом iframe в стилях такое как раз есть, но это не важно. Я просто не понял сначала вопроса, поэтому написал о той таблице, которую сразу увидел.
А менять глобальные стили для "table, td, th" я бы не стал, это повлияет на весь сайт, лучше только для класса данной ячейки (.page1) задать новый стиль.
tarazik, у Вас где-то в стилях для
.tblGenFixed td.s2
.tblGenFixed td.s3
задано
vertical-align:bottom;
а эти стили перекрывают Ваше valign="top"
Впрочем это касается таблицы прайса
А если Вы хотите чтобы левая колонка с разделами (которая начинается со слова "Товары") выравнивалась по верху, добавьте в стили такое
.page1 {
vertical-align: top;
}
потому что сейчас у Вас в стилях имеется
table, td, th {
vertical-align: middle;
}
что и приводит к выравниванию по центру.
Есть ли какой-то не сложный вариант передать post запрос через промежуточную страницу, с редиректом типа того, что Вы дали страницей раньше.
Нужен какой-то обработчик на стороне сервера (например на PHP), который динамически сформирует страницу с формой, аналогичной той, что у пользователя на странице и с уже заполненными полями (на основании перебора элементов присланного массива $_POST, т.е. вставит в эту форму все присланные методом POST переменные с их значениями) и добавит на эту страницу скрипт, который вызовет оправку этой формы, как только страница загрузится к пользователю. Ну и естественно что на этой странице будет предупреждение, что возможно длительное ожидание ответа.
На этой сгенерированной форме можно добавить еще и GET-переменную, чтоб при приходе запроса от сгенерированной формы не произошло зацикливание отправкой загрузочной страницы.
Или этот обработчик сгенерит страницу не с формой, а со скриптом, который отправит при попадании к клиенту правильный POST-запрос например с помощью jQuery (опять же на основании анализа присланных POST-переменных).
И вот тогда можно вызывать при POST-запросах этот обработчик аналогично вызову странички с одной строчкой скрипта при GET-запросах.
Просто я почти все костыли поставил, все вроде бы неплохо выглядит. Вот только с поисковой формой осталась проблема.
если поисковая форма уже есть у пользователя, то значит страницу он уже загрузил, т.е. софт работает.
А если софт перезапустили пока посетитель уже находится на странице и набирает что-то там в поисковой форме, то корректный ответ он на запрос из формы не получит ни с какими костылями (это возможно только если заранее запрограммировать решение подобной ситуации в самом софте).
Единственное, что можно изобрести в этом случае, это при невозможности ответить на POST-запрос делать перенаправление пользователя на загрузочную страницу.
Но здесь придется повозиться с программированием и на стороне сервера, и на стороне клиента.
На стороне сервера нужно найти какой-то признак, по которому делать вывод о невозможности получения ответа от софта без обращения к самому софту (например наличие или отсутствие какого-то файла) и в этом случае не обращаться к софту (который будет долго не отвечать), а отдавать скрипт, аналогичный мною приведенный раньше, но с перенаправлением на страницу без прараметра (загрузочную).
А саму форму (может быть) переделать так, чтоб она могла принимать не только стандартный ответ, но и выполнить присланный вместо ответа скрипт.
Хотя если если это стандартная HTML-форма, то любой ответ приводит к полной перезагрузке страницы и сервер может просто отдать 302 редирект на загрузочную страницу без всякой переделки формы и переделка потребуется только на серверной стороне (обучить сервер в некоторых случаях отдавать этот редирект).
Кстати, а такой редирект не заддосит сервер? Это же повторяющиеся обращение к странице.
Это не повторяющиеся обращения, а единственная переадресация.
Но если сервер не будет проверять наличие параметра, и на любой запрос отдавать загрузочную страницу, то все зациклится и пользователь никогда не получит основную страницу.
Кстати из формы запрос скорей всего идет не методом GET, а может быть методом POST (а у Вас может даже и "HTTP verb") и его протранслировать через промежуточную страницу такой простой переадресацией не получится.
А Вот при отдаче промежуточной страницы проверить, чтоб она отдавалась только при запросе страницы методом GET может и следует, иначе можно заблокировать работу формы.
на PHP так
$val=preg_replace('#,#','.',$val);
на javascript так
val=val.replace(/,/g,".");
Я позволяю в таких случаях клиенту использовать то, что ему больше нравится, а при обработке данных таких полей сразу делаю замену возможной запятой на точку.
Можно ли определять, что страница пока не доступна и проверять загрузилась ли она и пока нет, выдавать определенно сообщение пользователю. Т.е. сделать все ссылки на страницу через какую-то промежуточную, которая будет мониторить загрузку целевой страницы и до тех пор, пока та не загрузится, выдавать сообщение. Как только страница загружена, то происходит редирект. Как-то так мне это видится. Но как такое сделать, не понимаю.
Unlock, Вы уже почти ответили на свой вопрос
Вот представьте, что Вы переходите на страницу, но ее загрузка не идет, т.е. Вы просто ждете 2 минуты, но страница не грузится вообще. Т.е. Вы сидите на странице откуда переход делаете и ее код в броузере видно.
Нужно только сделать чтобы страница, с которой происходит переход была не любая страница, а страница Ваша, с предупреждением о возможности долгой загрузки страницы.
А содержимое страницы очень простое, текст с предупреждением, может еще гифка анимированная, чтоб создавалось впечатление что процесс идет и скрипт редиректа:
<script type="text/javascript">
<!-- hide
document.location = "http://ваша_основная_страница?параметр"
// -->
</script>
И посетитель будет смотреть на предупреждение ровно столько, сколько потребуется на получение основного содежимого.
А уж как отдать посетителю загрузочную страницу вместо основной, если в запросе нет параметра, сами решите.