Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите...ЗАпрет показа и/или убийство ссылки (https://javascript.ru/forum/misc/2961-pomogite-zapret-pokaza-i-ili-ubijjstvo-ssylki.html)

Dkflbvbh 03.03.2009 22:47

Помогите...ЗАпрет показа и/или убийство ссылки
 
Всем доброго времени суток.
Есть такая система как wmlink.ru(к примеру возьмем её) устанавливая её код мы получаем на странице рекламу в заглавии которой стоит ссылка на саму сеть то есть типо "Реклама WMlink.ru" - это текст заглавия блока ссылок, а сама ссылка и так понятна, ниже располагаются те ссылки за переходы по которым платят.
Теперь то что собственно мне и нужно, а нужно убить в заголовке ссылку то есть чтоб она как ссылка не действовала чтоб на нее нельзя было кликнуть, а остальные остались без изменения, если возможно такое то можно даже убрать её вообще от показа это будет даже лучше.
В топе Как сослаться на линк из document.write ? есть приблизительное решение, но я не знаю как это реализовать в этом случае и можноли это тут реализовать.
Кто знает решение помогите сам не разберусь.
Вот файл на котором можно по тренироваться, только убрать в конце расширение .rar не забудьте )

x-yuri 03.03.2009 23:17

document.getElementsByTagName возвращает коллекцию элементов по названию тэга. Если у нас есть ссылка на элемент el, то можно найти все элементы в нем с помощью того же метода
Для надежности можно этот скрипт в div заключить и к нему уже применять getElementsByTagName

Dkflbvbh 03.03.2009 23:23

)) прошу прощения но поскольку я не силён в js вы не моглибы расписать по подробней :o

x-yuri 03.03.2009 23:33

http://wdh.suncloud.ru/dhtml02.htm#m...mentsbytagname
http://javascript.ru/start/dom/search

Dkflbvbh 03.03.2009 23:42

:eek: Видимо я тут
Цитата:

Сообщение от Dkflbvbh (Сообщение 13595)
)) прошу прощения но поскольку я не силён в js вы не моглибы расписать по подробней :o

не совсем правильно выразился насчет моих познаний в области js... вернее я вообще не шарю в нем.

x-yuri 03.03.2009 23:47

совсем нету опыта в программировании?

Dkflbvbh 03.03.2009 23:53

Только по некоторым урокам мог изменять коды, кое-как разбераюсь но этого явно мало чтоб понять о чем вы говорите.
Вернее вообще не въезжаю.
Уровень моего понимания такой же как и у вас допустим налогового кодекса Японии написанного на еврите в переводе с Финского каким-то арабом живущим в антарктиде.

x-yuri 04.03.2009 00:07

тогда надо начинать с самого начала - http://wdh.suncloud.ru/
или читай предыдущие ссылки, пытайся понять и спрашивай что не можешь сам

Dkflbvbh 04.03.2009 00:19

Все :( .
Вы можете написать это?
Мне это для одного моего проекта нужно чтоб закончить с ним и перейти к нормальному обучению. Я за ним сижу постоянно и ничего делать не могу еще неделю назад понял что ппц мне если учить на начну нормально но тут в этом и весь косяк что пока не закончу не будет мне покоя... :(
Ща покажу что он из себя представляет...

Андрей Параничев 04.03.2009 00:34

Дайте ссылку на обсуждаемую страницу.

x-yuri 04.03.2009 00:35

хорошо, так понятно?
помещаешь свой скрипт в div. Задаешь div'у id, например, wmlink.
var wmlink = document.getElementById('wmlink')

возвращает ссылку на этот div. Теперь в div'е нужно найти твою ссылку:
wmlink.getElementsByTagName('a')[0]

(getElementsByTagName возвращает массив элементов a, [0] - берем первый элемент массива, т.е. первую ссылку)
Как удалить элемент:
el.parentNode.removeChild( el )

el - ссылка на элемент, parentNode - получаем ссылку на родителя, removeChild - удаляет потомка (т.е. el)

Dkflbvbh 04.03.2009 00:37

Вверху есть ссылка "файл"

Dkflbvbh 04.03.2009 00:41

В общем почти понятно но как это написать чтоб было правильно вот это непонятно больше.

x-yuri 04.03.2009 00:44

а ты попробуй

Dkflbvbh 04.03.2009 00:59

Попробовал загнать то что вы написали в функцию
<script type="text/javascript">
function sterety()
{
var wmlink = document.getElementById('wmlink')
wmlink.getElementsByTagName('a')[0]
el.parentNode.removeChild( el )
}
</script>

<div id="wmlink"><script type="text/javascript" src="http://z300.takru.com/in.php?id=398458"></script><div>

Точно знаю что что-то не так... понятия не имею что точно :(

Dkflbvbh 04.03.2009 01:01

Наверное нужна переменная "el" или опять мимо?
Переменную пытался добавить
var el = 'http://www.tak.ru'

Опять ничего :(

Dkflbvbh 04.03.2009 01:04

К примеру не понимаю откуда возбмется
Цитата:

el - ссылка на элемент
и куда что еще нужно добавить.

x-yuri 04.03.2009 01:16

1. 'http://www.tak.ru' - строка, а ты хочешь удалить элемент страницы. wmlink, например, ссылка на элемент страницы (div)
2. что такое wmlink.getElementsByTagName('a')[0] ?

Dkflbvbh 04.03.2009 01:33

То есть удаляется текст ссылки?
Цитата:

2. что такое wmlink.getElementsByTagName('a')[0] ?
Это видимо имя(текст) под которым скрывается ссылка.

Андрей Параничев 04.03.2009 01:47

Цитата:

Сообщение от Dkflbvbh
Вверху есть ссылка "файл"

У меня поврежденный архив скачивается.

Dkflbvbh 04.03.2009 01:50

Цитата:

Сообщение от Андрей Параничев (Сообщение 13615)
У меня поврежденный архив скачивается.

Ща исправлю...смотри

x-yuri 04.03.2009 01:55

Цитата:

То есть удаляется текст ссылки?
в общем-то я использовал слово ссылка в двух значениях. В общем, тебе надо удалить элемент a (ссылка), чтобы получить доступ к элементу ты сначала получаешь доступ к div'у, в котором он содержится, (getElementById), а потом, с помощью getElementByTagName, к самому элементу а. Но так как getElementByTagName в любом случае возвращает массив (коллекцию), то тебе нужен только первый ее элемент, с индексом 0. el - переменная содержащая элемент, который ты собираешься удалить

Dkflbvbh 04.03.2009 02:12

Так ясно мне походу надо задать значение для переменной "el" так?
Это пока я понял. А вот только какое значение у этой переменной не понимаю уже не знаю даже что подставлять(почти все перепробывал).

Dkflbvbh 04.03.2009 02:13

x-yuri,ЛС получили?

Dkflbvbh 04.03.2009 02:15

x-yuri
И еще вы сами опробовали то что пытаетесь мне объяснить?

x-yuri 04.03.2009 02:24

Цитата:

Так ясно мне походу надо задать значение для переменной "el" так?
в нее должна попасть ссылка, которую надо удалить

а сделай
alert(wmlink.getElementsByTagName('a')[0].innerHTML);


Цитата:

И еще вы сами опробовали то что пытаетесь мне объяснить?
конечно, нет :no:

давай лучше на ты ;-)

Dkflbvbh 04.03.2009 02:27

И куда мне этот алетр всталять?

x-yuri 04.03.2009 02:28

главное, чтобы в переменной wmlink уже что-то было к тому моменту

Dkflbvbh 04.03.2009 02:29

И насколько я знаю в js нужно очень строго соблюдать все необходимые символы в строках вы не могли бы написать все то что я уже указывал ранее но только так как оно должно быть по правилам

Dkflbvbh 04.03.2009 02:33

<script type="text/javascript">
function sterety()
{
var wmlink = document.getElementById('wmlink')
var el = что здесь должно быть?
wmlink.getElementsByTagName('a')[0]
el.parentNode.removeChild('el')
}
alert(wmlink.getElementsByTagName('a')[0].innerHTML);
</script>

<div id="wmlink"><script type="text/javascript" src="http://z300.takru.com/in.php?id=398405"></script><div>

x-yuri 04.03.2009 02:40

если ты пользуешься IE - включи отладчик (Инструменты / Свойства обозреваеля / Дополнительно / Отключить отладку сценариев). После этого при любой ошибке тебе будет предложено запустить отладчик
Opera: Инструменты / Дополнительно / Консоль ошибок
Firefox: Инструменты / Консоль ошибок (Ctrl-Shift-J)

во-первых твоя функция никогда не вызывается, вызов функции f:
f();

во-вторых, на момент вызова alert в переменной wmlink ничего нет - поставь alert после присваивания значения переменной wmlink
в-третьих, одно из условий для получения доступа к какому-нибудь элементу - поместить скрипт после этого элемента. Иначе ты будешь пытаться получить доступ до того, как элемент будет создан

Dkflbvbh 04.03.2009 03:00

Исправте где я ошибся и покажите код бо я не понимаю уже ничего.

Андрей Параничев 04.03.2009 03:01

x-yuri,
Зачем ты его мучаешь? Мне кажется тут быстрее понять, чем разобраться.

Dkflbvbh 04.03.2009 03:04

Андрей Параничев,
Если вы знаете как это сделать напишите полный код плз...

Dkflbvbh 04.03.2009 03:06

Мне завтра(вернее уже сегодня) искать работу под альтернативную надо если знаете скажите код...плз

x-yuri 04.03.2009 03:18

<div id="wmlink"><script type="text/javascript" src="http://z300.takru.com/in.php?id=398405"></script><div>
<script type="text/javascript">
var wmlink = document.getElementById('wmlink');
alert(document.body.innerHTML); // это содержимое тэга body
alert(wmlink.getElementsByTagName('a')[0].innerHTML); // а это ...
//el.parentNode.removeChild('el');
</script>

Dkflbvbh 04.03.2009 03:19

x-yuri,
Вы уже скачали те файлы ссылки на которые я вам дал?

Dkflbvbh 04.03.2009 03:28

Круто алерты работает все определяет только все на месте остается)

Dkflbvbh 04.03.2009 03:29

Походу нужно переменную el задать или это все?

x-yuri 04.03.2009 03:35

Цитата:

Походу нужно переменную el задать
да

innerHTML показывает содержимое элемента. Тогда что такое wmlink.getElementsByTagName('a')[0] ?


Часовой пояс GMT +3, время: 03:47.