|
|
|
| Вообще ситуация такая, нужно сделать чтобы при клике на ссылку, в адресе которой присутствует определенный домен, перед переходом по ссылке из нею брался href и текст ссылки и передавался определенной ссылке. Проблема заключается в том, что у ссылки может уже быть назначено задание на onclick и затирать его нельзя..
Вообщем в JS я оболтус, так что прошу ответы делать более полными.
Заранее спасибо, вы меня прямо спасаете..
ЗЫ: Усложнение всего это заключается в том, что эти ссылки в коде не присуствуют, т.е. они подгружаются по JS тоже (речь идет о рекламе на адсенс и бегуне, нужно перехватывать клики именно по ним) | |
|
|
|
|
|
|
|
для: krollik
(15.08.2008 в 20:08)
| | Как понять:"...передавался определенной ссылке..."???
Если "задание затирать нельзя", то включите второе задание в первое, или расположите их последовательно:
<a href="host.php" onclick="func1();func2()" >text</a>
|
Если вам нужно контролировать, есть ли клики на вашем сайте по чужим ссылкам, то так и скажите. Я это делал когда-то с помощью аякса. | |
|
|
|
|
|
|
|
для: coloboc66
(15.08.2008 в 23:22)
| | Определите ф-цию OnLoad. А далее она уже должна найти в сформированном документе подгруженный код со ссылкой и добавить в него свою функцию в список действий по onClick. В общих чертах так | |
|
|
|
|
|
|
|
для: coloboc66
(15.08.2008 в 23:22)
| | coloboc66: хм про очередность я понял, но для меня остается открытым вопрос, как уже в сформированном документе средствами JS на все ссылки в начало onclick поставить вызов определенной функции. Можно использовать фреймворк прототайп. | |
|
|
|
|
|
|
|
для: krollik
(16.08.2008 в 09:26)
| | Или я чего-то не понимаю: дайте конкретный код и сформулируйте задачу. | |
|
|
|
|
|
|
|
для: coloboc66
(16.08.2008 в 10:44)
| | В странице есть ссылки вида:
<a id="aw0" class="adt" target="_top" onmouseover="return ss('','aw0')" onmousedown="st('aw0')" onfocus="ss('','aw0')" onclick="ha('aw0')" href="http://pagead2.googlesyndication.com/pagead/iclk?******">
<span>Протокол</span>
</a>
|
Нужно сделать так, чтобы, если человек кликнул на ссылку в href которой содержится "googlesyndication.com/pagead" (ссылка из примера), то вначале вызывалась моя функция (в неё надо передать href и то, что находится между тегами <a> и </a>), а затем уже то что было у этой ссылки по умолчанию в onclick (ha('aw0') - в нашем примере). Другие ссылки должны работать как обычно. | |
|
|
|
|
|
|
|
для: krollik
(16.08.2008 в 15:37)
| |
<a href="http://pagead2.googlesyndication.com/pagead/iclk..." onclick="if (this.href.indexOf ('googlesyndication.com') > 0) alert ('Вместо ALERTa пропишите вызов вашей функции')">Link</a>
|
| |
|
|
|
|
|
|
|
для: PAT
(16.08.2008 в 15:43)
| | мм.. А как это динамически прикрутить ко всем ссылкам? | |
|
|
|
|
|
|
|
для: krollik
(16.08.2008 в 16:57)
| | Циклом. | |
|
|
|
|
|
|
|
для: krollik
(16.08.2008 в 16:57)
| |
<head>
<script>
function myFunc ()
{
//ваша функция
}
onload = function ()
{
var br = (document.addEventListener) ? 1 : ((document.attachEvent) ? 2 : 3);
for (var ln = document.links, j = 0; j < ln.length; j++)
if (ln [j].href.indexOf ('googlesyndication.com') > 0) switch (br)
{
case 1: ln [j].addEventListener ('click', myFunc, false); //для Mozilla
case 2: ln [j].attachEvent ('onclick', myFunc, false); //для MSIE
case 3: ln [j] ['onclick'] = myFunc; //для прочих
}
}
</script>
</head>
<body>
...
|
| |
|
|
|
|
|
|
|
для: PAT
(16.08.2008 в 19:25)
| | спс | |
|
|
|
|
|
|
|
для: PAT
(16.08.2008 в 19:25)
| | Ещё один вопрос: ссылки гугла сидят в iframe, как и на них повесть функцию, зная имя фрейма (или ещё лучше - на все ссылки во всех фреймах) | |
|
|
|
|
|
|
|
для: krollik
(16.08.2008 в 22:27)
| | В ифреймах "сидят" файлы, а уже в файлах "сидят" ссылки.
Если файл ваш (т.е. с того же домена, что и индексный файл), то
ничего вам не мешает в этот самый файл напрямую прописать
вышеприведенный скрипт по ONLOAD.
А ежели файл "чужой", то тут вы НИЧЕГО не сделаете, ибо
"влезать" в "чужие" страницы НИЗЗЗЗЗЯ! | |
|
|
|