29.08.2012, 23:55
|
Профессор
|
|
Регистрация: 11.05.2011
Сообщений: 241
|
|
Как определить была ли ссылка посещена
Как определить программно в своем скрипте - посещалась ссылка или нет?
Я могу создать стиль, в котором visited links изменят цвет, например, и браузер сам найдет посещенные ссылки и изменит их свойства.
А как моему скрипту определить visited links?
|
|
30.08.2012, 02:31
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,587
|
|
Сообщение от Почемучкин
|
Я могу
|
Не можете.
Из-за политики безопасности никаким образом не возможно со стороны скрипта определить посещенные страницы.
Какие бы стили вы не применяли, при попытке получения стиля браузер вам выдаст стандартный стиль ссылки, а не текущий, каким бы он ни был.
__________________
29375, 35
|
|
30.08.2012, 06:03
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,587
|
|
- FF 3.6
Ещёб ff2.0 взяли.
С четвёртого по-мойму и пофиксили.
Опера - хз, как там в актуальных версиях(>11)/
IE - а что вы ожидали от осла?
Но вообще, те то заботится о собственной безопасности - юзают только актуальные версии.
Так и быть, поправку внесу: никаким образом это нельзя сделать кроссбраузерно.
__________________
29375, 35
Последний раз редактировалось Aetae, 30.08.2012 в 06:08.
|
|
04.09.2012, 20:08
|
Профессор
|
|
Регистрация: 11.05.2011
Сообщений: 241
|
|
Дзен-трансгуманист,
Я в принципе хотел что-то подобное (просто, скажем, высоту ссылок изменить или что-то в этом духе), но Ваш код интереснее конечно.
К сожалению, в FireFox 13.01 не работает: alert(spy.offsetWidth) всегда выдаёт 0 .
А Вы в каком браузере проверяли?
Вообще - FireFox для "A:visited" меняет цвет, но не ширину! Просто для тэга "A" меняет и ширину без проблем.
То есть ограничение похоже в том, что нельзя изменять какие-то свойства, по которым можно узнать посещалась ли ссылка (цвет не в счет - его узнать нельзя, imho, даже несмотря на возможность изменения цвета).
Интересно, а у всех ли объектов DOM FireFox успел перекрыть доступ из-под a:visited и ко всем ли их свойствам, или же есть какие-то дыры?
Последний раз редактировалось Почемучкин, 04.09.2012 в 20:48.
|
|
04.09.2012, 22:22
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,587
|
|
Поищи. Найдёшь - запости на багтрекер фф чтоб потешить тщеславие, или продай секрет.(если найдёшь кому )
__________________
29375, 35
|
|
05.09.2012, 06:26
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,587
|
|
Сообщение от Дзен-трансгуманист
|
Тестировал Хром 11, дак там для псевдокласса visited работает только стиль color
|
Не только. Если у изначальной ссылки задан бг и бордер, то ещё и их.
Вот тест:
<!DOCTYPE HTML>
<html lang="ru-RU">
<head>
<meta charset="UTF-8">
<style type="text/css">
body,html{
background: #000;
}
a{
color: #aaa;
display: block;
background: #222;
border:4px solid;
border-radius: 15px;
box-shadow: 5px 5px #fff;
float:left;
margin:5px auto;
padding:15px;
font:30px/35px Impact, serif;
}
a::after{
content: " link!"
}
a:visited{
color: #afa;
display: inline-block;
background: #262;
border:4px dotted;
border-radius: 0;
box-shadow: 0 0 0 12px #0f0;
float:right;
margin:10px;
padding:45px;
font:10px/15px monotype;
}
a:visited::after{
content: " visited!"
}
</style>
</head>
<body>
<script type="text/javascript">
document.write('<a href="#'+Math.random()+'">Ссылка</a>')
</script>
</body>
</html>
__________________
29375, 35
|
|
05.09.2012, 07:37
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,587
|
|
А я и не говори что можно. Я просто уточнил твой пост.)
__________________
29375, 35
|
|
08.09.2012, 22:07
|
Профессор
|
|
Регистрация: 11.05.2011
Сообщений: 241
|
|
Сообщение от Дзен-трансгуманист
|
Но, в принципе, я солидарен с таким положением дел, что разработчики браузеров принудительно отказывают в поддержке visited
...
Нехорошо давать возможность эксплуатировать функционал браузера для получения настолько приватной информации.
|
А я вот с настолько радикалистским подходом разработчиков не согласен. По крайней мере нужно было дать возможность включать-выключать эту функциональность самому пользователю.
Большинству пользователей особо нечего скрывать и они намного больше информации о себе сливают другими способами. Это пригодится очень малому количеству людей поэтому стоило включать только в режиме повышенной безопасности.
Зато, определяя (не)посещенные ссылки или изменяя их свойства, а не только цвет, можно было бы существенно улучшить интерфейс пользователя. (Чего я и хотел сделать сейчас для себя, но не дают же).
Здесь IE8 мне больше по душе, чем Firefox/Chrome - надеюсь, в новых версиях Микрософт ничего не поменяет.
|
|
08.09.2012, 22:12
|
Профессор
|
|
Регистрация: 11.05.2011
Сообщений: 241
|
|
Сообщение от Дзен-трансгуманист
|
Aetae,
Короче, данный сабж это тот случай, когда об этом нужно забыть и выкинуть из головы.
|
Мне кажется, ещё не все способы исчерпаны. Мне тут пришла в голову идея, правда это через задницу и нужно изучить кое-что, чтобы точно узнать.
|
|
08.09.2012, 22:41
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,587
|
|
Сообщение от Почемучкин
|
Зато, определяя (не)посещенные ссылки или изменяя их свойства, а не только цвет, можно было бы существенно улучшить интерфейс пользователя. (Чего я и хотел сделать сейчас для себя, но не дают же).
|
Я для себя тож в своё время делал: игрался исключительно с css - display, opasity и z-index. Js не подключишь к этому делу, но и так боль-мене удобно настроил.
Вообще сейчас я подумываю для этих целей себе небольшое расширение для фф сделать. С расширеными пояснениями к visited ссылкам. Типа своих комментов.)
Сообщение от Почемучкин
|
Мне кажется, ещё не все способы исчерпаны. Мне тут пришла в голову идея, правда это через задницу и нужно изучить кое-что, чтобы точно узнать.
|
Отпишись о результатах.)
__________________
29375, 35
|
|
|
|