Есть меню которое работает во всех браузерах и в IE тоже, но как только переходиш на адрес статьи к которой применялось правило .htaccess RewriteRule, так сразу же перестаёт работать правило :hover в меню.
Нашол несколько скриптов которые должны решать проблему IE и :hover , но не один скрипт не помог.
Хотя если бы это была бы проблема именно IE и :hover, то меню не работало бы на всём сайте, а не только на страницах с переадресацией.
Помогите решить проблему.
Спустя 1 час, 36 минут, 55 секунд (5.08.2011 - 18:25) Romms написал(а):
Цитата |
Хотя если бы это была бы проблема именно IE и :hover, то меню не работало бы на всём сайте, а не только на страницах с переадресацией. |
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Используй евенты onmouseover & onmouseout
более подробно ищи "IE6 css hover JS"
Спустя 1 час, 21 минута, 33 секунды (5.08.2011 - 19:46) te0203 написал(а):
Много раз пробовал например вот такой метод:
1) hover.htc
Код:
Как пользоваться скриптом
Для начала его необходимо подключить к файлу стилей, например, так (если нужно предусмотреть возможность его применения к любому html-элементу):
Код:
Либо, вот так (если хотим его применить только к конкретному элементу):
Код:
А непосредственно реализация ховер-эффекта делается следующим образом. Например, если это меню с выпадающим списком:
Код:
IE начинает так тормозить..... А меню как не работало так и не работает...
Пробовал и методы со Javascript......
1) hover.htc
Код:
<attach for=element event=onmouseover handler=topm>
<attach for=element event=onmouseout handler=verm>
<script>
function topm(){element.className='hover';}
function verm(){element.className='';}
</script>
Как пользоваться скриптом
Для начала его необходимо подключить к файлу стилей, например, так (если нужно предусмотреть возможность его применения к любому html-элементу):
Код:
* {behavior:url("hover.htc")}
Либо, вот так (если хотим его применить только к конкретному элементу):
Код:
li {behavior:url("hover.htc")}
А непосредственно реализация ховер-эффекта делается следующим образом. Например, если это меню с выпадающим списком:
Код:
li:hover ul, /* для современных браузеров */
li.hover ul { /* для Internet Explorer 6 */
display: block
}
IE начинает так тормозить..... А меню как не работало так и не работает...
Пробовал и методы со Javascript......
Спустя 10 минут (5.08.2011 - 19:56) Arni написал(а):
Спустя 28 минут, 34 секунды (5.08.2011 - 20:25) te0203 написал(а):
Проблема кажется не в :hover , данные страницы генерировал скрипт LIEX и тег title почему то оказался вначале вывода.
Думаю проблема кроется тут.
<title>Английский слова для изучения</title><!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
Думаю проблема кроется тут.
Спустя 9 минут, 28 секунд (5.08.2011 - 20:34) te0203 написал(а):
В ручном режиме убрал тег title и всё заработало.
Проблема решена.
Осталось побороться с LIEX чтобы правильно теги раставляли....
Проблема решена.
Осталось побороться с LIEX чтобы правильно теги раставляли....
Спустя 1 день, 3 часа, 21 минута, 15 секунд (6.08.2011 - 23:55) te0203 написал(а):
Раскажу как решил данную проблему.
В файле mani.php находим функцию rewrite_file и добавляем в неё пару строк:
Теперь нам остаётся перехватить переменные $liex_title, $liex_description, $liex_keywords и раставить в нормальные места....
В файле mani.php находим функцию rewrite_file и добавляем в неё пару строк:
function rewrite_file($fname, $data) {
//Вот это добавляем
if($fname != 'article_index'){
$arr = explode('</title>', $data);//Вырезаем title
$title = explode('<title>', $arr[0]);
$liex_title = $title[1];
$desc = explode('\'>', $title[0]);//Вырезаем description
$description = explode('content=\'', $desc[0]);
$liex_description = $description[1];
$keyw = explode('\'>', $desc[1]);//Вырезаем keywords
$keywords = explode('content=\'', $keyw[0]);
$liex_keywords = $keywords[1];
//Формеруем новую переменную для записи
$data = '<?php $liex_title = "'.$liex_title.'"; $liex_description = "'.$liex_description.'"; $liex_keywords = "'.$liex_keywords.'";?>'.$arr[1];
}
//конец добавляемого кода
$fh = fopen($fname, 'wb');
if(!$fh) {
unlink($fname);
$fh = fopen($fname, 'wb');
}
if($fh) {
fwrite($fh, $data);
fclose($fh);
}
}
Теперь нам остаётся перехватить переменные $liex_title, $liex_description, $liex_keywords и раставить в нормальные места....