IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   ПОмОгите, кэш (http://www.imho.ws/showthread.php?t=36584)

Viroman 14.08.2003 05:36

ПОмОгите, кэш
 
Тяжело в учении легко в бою :)
Народ проблема возникла, хэшируются напрочь страницы и скрипты вместе с ними.
У меня дело так обстоит, яваскрипты находятся вне страницы, но с указанием на них.
Таким образом у меня 3 разные страницы и в них одинаковые скрипты по структуре, но с разными именами (скрипты как уже сказал вне страницы)
Скрипты выдают определённое значение.
Так вот проблема в том, что если предположим на первой странице это определённое значение выдалось и я перехожу к другой странице, где также ссылки на эти одинаковые скрипты(по структуре но не по имени), то експлорер перенимает значение того скрипта с первой страницы, вместо того, чтобы пересчитывать по новому и выдавать новый результат. Короче говоря он постоянно один и тот же результат подсовывает.
Чего только я не пытался, пихал эту балаберду вместе и по отдельности в страницу.
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">
Но результат 0, удивительно с Оперой таких проблем нет.
Я вот что подумал, может из-за того, что у меня скрипты вне страницы находятся надо на них как то отдельно указывать не хэшировать. Я ведь недавно спрашивал, что Опера не хочет кириллицей отображать внешний скрипт. Вылечилось добавлением чарсета в саму ссылку с указанием
<SCRIPT language=JavaScript charset="windows-1251" type="text/javascript" src="script.js"></SCRIPT>
Может что-то подобное мне и сейчас придётся сделать?
Никто случайно не в курсe?

RaZEr 14.08.2003 05:53

Если мета-теги не помогают, надо заголовок слать ...

PS: А вообще мета-теги работают ... ты может с DOCTYPE намутил чего ?

Viroman 14.08.2003 13:07

Цитата:

Если мета-теги не помогают, надо заголовок слать ...
Куда слать? Если можно то мне как заслуженному чайнику пожалуйста :) поподробней.

Цитата:

ты может с DOCTYPE намутил чего ?
Да я и сам то не очень знаю, что намутил?
Вот так заголовок стоит
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>stranitsa1</TITLE>
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
</HEAD>
В моём случае небольшой беспорядок в черёдности надеюсь не причина :)
PS:Если ничего не поможет может функция поможет типа вот этой?
onunload=JavaScript:window.close()

RaZEr 14.08.2003 13:38

Цитата:

Куда слать? Если можно то мне как заслуженному чайнику пожалуйста поподробней.
В перле ф-ия print в PHP - header, в ASP - Response.AddHeader.
Цитата:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Убери, и посмотри как без него. Вообще Transitional для IE ставить бесполезно, он действует по умолчанию.
Цитата:

<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
Не шли никогда лишние заголовки. Потому что одному богу известно что делает IE узнав что страница сделана им самим.

Viroman 14.08.2003 14:24

Спасибо буду пробовать. Только у меня хост без наворотов, тоесть никаких php и прочего.

Stasik 14.08.2003 14:56

ну тогда можешь не пробовать... попробуй к ссылкам добавить просто левые md5 хэши.... ну или дату в секундах через JS

Viroman 14.08.2003 15:56

Стас, ты мне круто дал по чайнику :)
Можно попросить показать это на наглядном примере?
Екплорер хэш сверяет значит через md5, а покажи куда и сколько цифр мне вставлять и как это должно выглядеть? Или с датой в секундах разъясни пожалуйста.

Да и кстати нет случайно JavaScript'a, который бы обнулял все значения в хэше браузера? Может это помогло бы быстрее?

Добавлено через 13 минут:
Боюсь дело даже возможно не в хэше, а переменные не сбиваются, похоже состояние просто перенимается.
Взял в каждый скрипт добавил разные комментарии, соответственно хэш обязан быть у каждого скрипта другим, или я ошибаюсь? Короче говоря мне пока ещё ничего не помогло. Опять же вопрос можно ли с помощью яваскрипта очистить все переменные, привести их в изначальное положение? Если да, то поделитесь пожалуйста.

RaZEr 14.08.2003 16:00

Залей куда-нить и мы посмотрим где ты облажался ...

Stasik 14.08.2003 18:05

да нет... просто к ссылке можно приписать код....

<script>
document.writeln('<a href=page.html?'+Math.round(Math.random()*9)+Math.round(Math.random()* 9)+Math.round(Math.random()*9)+Math.round(Math.random()*9)+Math.round( Math.random()*9)+Math.round(Math.random()*9)+Math.round(Math.random()* 9)+Math.round(Math.random()*9)+'>link</a>');
</script>

ппробуй так... page.html замени на своё

Viroman 14.08.2003 19:49

Stasik спасибо большое буду и так пробовать. А с ошибкой я похоже разобрался,
она то исчезла и всё правильно теперь, но проблема как таковая имеет место быть. У меня скрипты базируются на кукисах, это как бы маленький поиск по базе основанный на скрипте с www.tipue.com. Таких как бы создал три базы, каждый по отдельности. Так вот я обычно для красоты ради :), чтобы не отображать длиннющий адресс бесплатного хоста использовал короткие имена типа(образно говоря)
http://stranitsa1.ru.tc/str1.htm,
http://stranitsa2.ru.tc/str2.htm,
http://stranitsa3.ru.tc/str3.htm (ps:ими поддерживается полный редирект)
Так вот предположим на странице stranitsa1.ru.tc/str1.htm я задал поиск и он выдал мне определённый результат, потом я перехожу на страницу stranitsa2.ru.tc/str2.htm задаю поиск и он мне выводит опять же тот же результат, что и на той первой странице, вместо того чтобы по новой пересчитать значения. Короче експлорер дуреет в такой ситуации, в отличии от той же Оперы. Пришлось отказаться от этих пронуммерованных редиректов и у каждой страницы одинаковый основной адресс типа вот этого
http://stranitsa1.ru.tc/str1.htm,
http://stranitsa1.ru.tc/str2.htm,
http://stranitsa1.ru.tc/str3.htm
Вот так експлорер уже работает.
Короче что то с кукисами не чисто, а может так в експлорере задумано.
Вообщем это я образно ситуацию описал, примерно. Просто ситуация такая, что нужны были пронумерованные редиректы, хотя вообщем придётся обходиться без этого излишка.

RaZEr 14.08.2003 20:59

Ненадо гнать на IE, он нормально работает.

Viroman 14.08.2003 23:02

А я и не сомневаюсь, что так задумано :) Вообщем проблема больше не проблема.

Добавлено
И так испробовал я этот случайный генератор псевдохэша и штука думаю пригодится обязательно, генератор работал на все пять, правда в моём случае это не помогло, но это только ещё раз подтвердило, что проблема у меня с кукисами+(explorer+microsoft) :) шучу. Но другого объяснения я не нахожу, скрипты не мои, изменения в них мною не производились, так что не думаю, что это я повлёк в них такое злополучие, ведь раздав всего лишь одинаковый path проблема исчезла как языком слизало, в то время как на Опере этой проблемы изначально даже и не было.
Знаю, знаю Опера гадость :), а Майкрософт радость :), ведь весело весь день провёл.
Всем большое спасибо за помощь.


Часовой пояс GMT +4, время: 13:05.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.