
17.07.2011, 02:44
|
|
Интересующийся
|
|
Регистрация: 17.07.2011
Сообщений: 14
|
|
|
Проверка перехода по ссылке
Здравствуйте, уважаемые форумчане. Я столкнулся с такой задачей ...
Есть скрипт, но хотелось бы его видеть более доработанным ))))
<script type="text/javascript" src="scripts/base.debug.js"></script>
<script type="text/javascript">
window.onload = function() {
function pFp(){
var hid = document.getElementById("hidden"),
tak = [],
elems = document.getElementsByTagName('A'),
num = elems.length,
pat = new RegExp("(^|\\b)(takru)(\\b|$)"),
i = 0, j = 0;
for (; i < num; i++) {
if (pat.test(elems[i].className)) {
var f = function() {
setTimeout(function() {
hid.style.display = "";
}, 1000);
};
elems[i].setAttribute('target', '_blank');
if (elems[i].addEventListener) elems[i].addEventListener("click", f, false);
else if (elems[i].attachEvent) elems[i].attachEvent("onclick", f);
else elems[i].onclick = f;
j++;
}
}
};
pFp();
};
</script>
</head>
<body>
ссылки
<div id="hidden" style="display: none;">{param}</div>
Не подскажите, как сделать проверку адреса ссылок, по которым переходит пользователь для отображения скрытого параметра?
Проверка ... я имею в виду, если пользователь кликает на http://------**-----.ru/, то скрипт не отображает скрытый параметр, а если на другие ссылки, то отображает ...
Последний раз редактировалось Jack, 17.07.2011 в 18:02.
|
|

17.07.2011, 13:37
|
 |
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|

17.07.2011, 15:58
|
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Jack, на вскидку:
<a href="http://ya.ru/" id="a">click</a>
<script>
document.getElementById('a').onclick = function() {
var hostname = this.hostname;
if(hostname == 'ya.ru') {
this.innerHTML = hostname;
}
return false;
};
</script>
Последний раз редактировалось monolithed, 17.07.2011 в 16:03.
|
|

17.07.2011, 21:11
|
|
Интересующийся
|
|
Регистрация: 17.07.2011
Сообщений: 14
|
|
monolithed, огромное спасибо, но есть одно НО
Блок ссылок идёт скриптом, и я его не могу редактировать ...Т.е. через Id выполнить проверку не получится ...
<a href="http://www.ya.ru" class="class123456"><b>Clicks</b></a>
Поэтому попробывал сделать через ClassName
<script>
document.getElementByclassname('class123456').onclick = function() {
var hostname = this.hostname;
if(hostname == 'http://www.ya.ru') {
this.innerHTML = hostname;
}
return false;
};
</script>
Но теперь туплю и не могу понять, куда вставить скрипт  ?
|
|

17.07.2011, 21:28
|
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
|
Сообщение от Jack
|
|
через Id выполнить проверку не получится
|
значит нужно работать с тем что есть (элемент, атрибут, класс..)
|
Сообщение от Jack
|
document.getElementByclassname('class123456')
|
тут опечатка, и метод не кроссбраузерный.
|
Сообщение от Jack
|
|
Но теперь туплю и не могу понять, куда вставить скрипт
|
тут ничем помочь
|
|

18.07.2011, 05:22
|
|
Интересующийся
|
|
Регистрация: 17.07.2011
Сообщений: 14
|
|
... пф ...
<script type="text/javascript" src="scripts/base.debug.js"></script>
<script type="text/javascript">
window.onload = function() {
function pFp(){
var hid = document.getElementById("hidden"),
tak = [],
elems = document.getElementsByTagName('A'),
num = elems.length,
pat = new RegExp("(^|\\b)(takru)(\\b|$)"),
i = 0, j = 0;
for (; i < num; i++) {
if (pat.test(elems[i].className)) {
var f = function() {
setTimeout(function() {
hid.style.display = "";
}, 1000);
};
elems[i].setAttribute('target', '_blank');
if (elems[i].addEventListener) elems[i].addEventListener("click", f, false);
else if (elems[i].attachEvent) elems[i].attachEvent("onclick", f);
else elems[i].onclick = f;
j++;
}
}
};
pFp();
};
</script>
</head>
<body>
<a href="http://www.-l-.com" class="La128v"><b>click1</b></a>
<a href="http://www.-l-.com/864684" class="La128v"><b>lalalala</b></a>
<a href="http://www.-l-.com/933.20122" class="La128v"><b>lalalala</b></a>
<a href="http://www.-l-.com/yhwjjdu" class="La128v"><b>lalalala</b></a>
<a href="http://www.-l-.com/486rt68h" class="La128v"><b>lalalala</b></a>
<a href="http://www.-l-.com/4rht486h" class="La128v"><b>lalalala</b></a>
<a href="http://www.-l-.com/rt8h464" class="La128v"><b>lalalala</b></a>
<a href="http://www.-l-.com/4r86th46" class="La128v"><b>lalalala</b></a>
<a href="http://www.-l-./rth486864" class="La128v"><b>lalalala</b></a>
<div id="hidden" style="display: none;">{param}</div>
Нужно сделать так, чтобы ссылка click1 не показывал скрытый параметр ...
Кто сможет более подробней помочь ? )
|
|

18.07.2011, 11:10
|
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
|
Сообщение от Jack
|
|
Нужно сделать так, чтобы ссылка click1 не показывал скрытый параметр ...
|
излагайте свои мысли конкретней. Если нужно пропустить первый элемент, то начните цикл с 1, т.е. i = 1;
|
|

18.07.2011, 14:40
|
|
Интересующийся
|
|
Регистрация: 17.07.2011
Сообщений: 14
|
|
Сообщение от monolithed
|
|
излагайте свои мысли конкретней.
|
<a href="http://www.-l-.com" class="La128v"><b>click1</b></a> // от клика по этой ссылке скрытый параметр не отображается
<a href="http://www.-l-.com/864684" class="La128v"><b>lalalala</b></a> // от клика по этой ссылке скрытый параметр отображается
<a href="http://www.-l-.com/933.20122" class="La128v"><b>lalalala</b></a> // от клика по этой ссылке скрытый параметр отображается
<a href="http://www.-l-.com/yhwjjdu" class="La128v"><b>lalalala</b></a> // от клика по этой ссылке скрытый параметр отображается
<a href="http://www.-l-.com/486rt68h" class="La128v"><b>lalalala</b></a> // от клика по этой ссылке скрытый параметр отображается
<a href="http://www.-l-.com/4rht486h" class="La128v"><b>lalalala</b></a> // от клика по этой ссылке скрытый параметр отображается
<a href="http://www.-l-.com/rt8h464" class="La128v"><b>lalalala</b></a> // от клика по этой ссылке скрытый параметр отображается
<a href="http://www.-l-.com/4r86th46" class="La128v"><b>lalalala</b></a> // от клика по этой ссылке скрытый параметр отображается
<a href="http://www.-l-./rth486864" class="La128v"><b>lalalala</b></a> // от клика по этой ссылке скрытый параметр отображается
Сообщение от monolithed
|
|
излагайте свои мысли конкретней. Если нужно пропустить первый элемент, то начните цикл с 1, т.е. i = 1;
|
Хм ... попробывал поставить i=1, всё равно при клике на первую ссылку отображается скрытый параметр
Последний раз редактировалось Jack, 18.07.2011 в 18:01.
|
|
|
|