Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Доброе время суток! (https://javascript.ru/forum/misc/52731-dobroe-vremya-sutok.html)

porezon 04.01.2015 00:42

Вывод ссылки
 
Есть вот такой вот код:

<script>
$(function(){
    $('#link6').click(function(){
        window.open("view.php?ad=6", '_blank');
    });
});
</script>

<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td class='normal' width='40' valign='top'>
<span class="serfimghigh"></span></td>
<td class='normal' valign='top' style='font-size:11px;padding-top:10px;'>
Мы предлагаем<span id='link6' class='serfgo'> ва</span>м прямо сейчас начать зарабатывать на нашем проекте. 
</td>
</tr></table>



Суть его в том, что нажимая на определнный участок текста у нас открывается новая страница.

1) Как сделать чтоб сначала мы нажимаем на определнный текст,
2) Далее вместо текста надпись перейти на сайт.
3) И После перехода на сайт, у нас появится надпись: спасибо что перешли.

Если кто может помогите пожалуйста

krutoy 04.01.2015 00:53

Цитата:

Сообщение от porezon
И После перехода на сайт

Это невозможно, в принципе, ты что не понимаешь? Как может чужой сайт поднять твое окошко? Когда юзер загрузил страницу стороннего сайта, твоего кода на этой странице просто нет уже, нечему там выполняться. Мб возможны какие-нибудь варианты с айфреймами.

И, BTW, open большинством браузеров блокируется сейчас, лучше его не пользовать.

porezon 04.01.2015 00:55

Не на новом сайте, а на старом сайте место кнопки перейти появится спасибо что перешли

porezon 04.01.2015 00:58



Вот так выглядит 1,2,3 стадии

krutoy 04.01.2015 01:10

<!DOCTYPE html>
<html>
<head>
</head>
 
<div id="wrapper">
<button>GO</button>
</div>
<body>
 
<script>

wrapper=document.querySelector("#wrapper")
go=function(){setTimeout(function(){open("http://javascript.ru")}, 1000)}
wrapper.onclick=function(){this.innerHTML="<span>Thanks</span>", go()}



</script>
</body>
</html>

porezon 04.01.2015 01:13

что та не совсем так как нужно.

надо вот так:

Нажимаю на текст, вылазит ссылка место текста, перехожу по ссылке, и место ссылки текст номер 2

vuler 04.01.2015 01:37

Что-то вроде этого наверное. Полностью рабочий код протестить дать не могу, спать охота :) но направление куда двигаться ты надеюсь поймешь.
$('#link6').click(function(){
      $('#link6').off('click');
      $(this).html($('<a class="real_href" href="туда">Туда</a>'))
      $(this).find('.real_href').on('click',function(){
             $(this).html('<p>молодец что нажал</p>')
             window.open($(this).attr('href'), '_blank');
      })
    });

krutoy 04.01.2015 01:37

<!DOCTYPE html>
<html>
<head>
</head>
 
<div id="wrapper">
<p>The Best Partner Programm here</p>
</div>
<body>
 
<script>

wrapper=document.querySelector("#wrapper")
go=function(){ wrapper.innerHTML="thanks"; setTimeout(function(){open("http://javascript.ru")}, 1000);}
wrapper.onclick=function(){this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go}



</script>
</body>
</html>

porezon 04.01.2015 02:16

Сделал для нескольких ссылок, но не работает чего-то, только по 1

<script>
wrapper=document.querySelector("#wrapper3")
go=function(){ wrapper.innerHTML="thanks"; setTimeout(function(){open("view.php?ad=7")}, 1000);}
wrapper.onclick=function(){this.innerHTML="<div class='gos'>Переход по ссылке</div>"; this.onclick=go}
</script>

<script>
wrapper=document.querySelector("#wrapperc")
go=function(){ wrapper.innerHTML="thanks"; setTimeout(function(){open("view.php?ad=6")}, 1000);}
wrapper.onclick=function(){this.innerHTML="<div class='gos'>Переход по ссылке</div>"; this.onclick=go}
</script>

<script>
wrapper=document.querySelector("#wrapper5")
go=function(){ wrapper.innerHTML="thanks"; setTimeout(function(){open("view.php?ad=5")}, 1000);}
wrapper.onclick=function(){this.innerHTML="<div class='gos'>Переход по ссылке</div>"; this.onclick=go}
</script>



<div id='wrapper3'><span class='serfgo'>222</span>222222</div>

<div id='wrapperc'>Мы предлагаем вам прямо сейчас нача<span class='serfgo'>ть </span>зарабатывать на нашем проек</div>

<div id='wrapper5'>Д<span class='serfgo'>обр</span>о пожаловать</div>

porezon 04.01.2015 02:28

и еще проблема, когда появляется thanks, если еще раз на него нажать то перейдет опять по ссылке, а такого быть не должно

krutoy 04.01.2015 02:34

<!DOCTYPE html>
<html>
<head>
</head>
<body>
 
<div id="wrapper1">
<p>best partners 1</p>
</div>


 
<div id="wrapper2">
<p>best partners 2</p>
</div>
<body>
 
<div id="wrapper3">
<p>best partners 3</p>
</div>
<body>

 
<script>

get=document.querySelector.bind(document)

wrapper1=get("#wrapper1")
wrapper2=get("#wrapper2")
wrapper3=get("#wrapper3")
go=function(el){return function(){ el.innerHTML="thanks"; el.onclick=null; setTimeout(function(){open("http://javascript.ru")}, 1000);}}
wrapper1.onclick=wrapper2.onclick=wrapper3.onclick=function(){
  this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go(this)}



</script>
</body>
</html>

porezon 04.01.2015 02:38

еще можно чтоб когда thanks и нажимаешь не перекидывало снова на сайт

krutoy 04.01.2015 02:41

Цитата:

Сообщение от porezon
еще можно чтоб когда thanks и нажимаешь не перекидывало снова на сайт

Я сделал, чо не работает? Ты где тестишь?

porezon 04.01.2015 02:46

Осталось проблема еще одна, я ссылки добавляю они друг за другом идут, около 100 ссылок всего будет. Нельзя ли по другому как-то сделать? а то много id писать для 100 ссылок

porezon 04.01.2015 02:49

они у меня идут с айди с базы, можно эти айди как-то вписать?

krutoy 04.01.2015 02:53

<!DOCTYPE html>
<html>
<head>
</head>
<body>
 
<div name="wrapper">
<p>best partners 1</p>
</div>
 
<div name="wrapper">
<p>best partners 2</p>
</div>
<body>
 
<div name="wrapper">
<p>best partners 3</p>
</div>
<body>

 
<script>


partners=document.getElementsByName("wrapper")

go=function(el){return function(){ el.innerHTML="thanks"; el.onclick=null; setTimeout(function(){open("http://javascript.ru")}, 1000);}}
redirect=function(){
  this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go(this)}

for(i=0; i<partners.length; i++) partners[i].onclick=redirect


</script>
</body>
</html>

krutoy 04.01.2015 02:58

porezon,
таймаут можешь убрать, кстати, это просто для наглядности, технически он там не нужен.

porezon 04.01.2015 03:09

теперь проблема с ссылками, разные ссылки везде, а открывает одну и туже

krutoy 04.01.2015 03:11

Ты ссылки в чем хранишь, в массиве?

porezon 04.01.2015 03:13

они в базе , вывожу их через mysql_fetch_assoc

porezon 04.01.2015 03:13

<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td class='normal' valign='top' style='font-size:12px;padding-top:10px;'>
<div id='wrapper'>22<span class='serfgo'>222</span>2222</div>
</td>
</tr>
</table>

<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td class='normal' valign='top' style='font-size:12px;padding-top:10px;'>
<div id='wrapper'>22<span class='serfgo'>222</span>2222</div>
</td>
</tr>
</table>

<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td class='normal' valign='top' style='font-size:12px;padding-top:10px;'>
<div id='wrapper'>22<span class='serfgo'>222</span>2222</div>
</td>
</tr>
</table>

<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td class='normal' valign='top' style='font-size:12px;padding-top:10px;'>
<div id='wrapper'>22<span class='serfgo'>222</span>2222</div>
</td>
</tr>
</table>

<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td class='normal' valign='top' style='font-size:12px;padding-top:10px;'>
<div id='wrapper'>Мы предлагаем вам прямо сейчас начать <span class='serfgo'>зар</span>абатывать на нашем проек</div>
</td>
</tr>
</table>

porezon 04.01.2015 03:13

вот так вот они идут друг за другом

krutoy 04.01.2015 03:20

porezon,
я там ссылки не вижу. Они, наверное, генерируются каким-то внешним кодом, вряд ли я смогу тут помочь. Ссылки -- это код вида <a href="http://site.ru">link</a>. Или, хотя бы адреса. Там их нет.

porezon 04.01.2015 03:21

я их вставляю туда где ты прописал, и получается вот такое вот всё

porezon 04.01.2015 03:21

<script>
partners=document.getElementsByName("wrapper")
go=function(el){return function(){ el.innerHTML="<div class='ok'>Спасибо за просмотр</div>"; el.onclick=null; setTimeout(function(){open("view.php?ad=7")}, 1000);}}
redirect=function(){this.innerHTML="<div class='gos'>Просмотреть сайт рекламодателя</div>"; this.onclick=go(this)}
for(i=0; i<partners.length; i++) partners[i].onclick=redirect
</script>

<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td class='normal' width='40' valign='top'>
<span class="serfimghigh"></span></td>
<td class='normal' valign='top' style='font-size:12px;padding-top:10px;'>
<div name='wrapper'>22222<span class='serfgo'>222</span>2<br />
<span class='desctext'>http://2222222222 | Таймер: 20 сек. | (new)   | <span class="clickprice">VIP</span></span>
</div>
</td>

<td class='normal' nowrap='nowrap' valign='top' style='width: 70px; text-align: right; padding-right: 10px;'>
<span class='smoolgray' title='Осталось визитов'>(100) </span>
<span class='clickprice' title='Стоимость просмотра'>0.021 руб.</span><br />
<a class='workcompn' onclick='hideserfaddblock("comp69");'  href="/zhaloba.php?id=7" title='Пожаловаться на рекламу'></a>
<a class='workevents' target='_blank' title='Рекламодатель' href='wall.php?user=988'></a>
<a class='workvirs' href='http://online.us.drweb.com/result/?url=http://2222222222' title='Проверить ссылку на вирусы' target='_blank'></a>
</td>
</tr>
</table>


<script>
partners=document.getElementsByName("wrapper")
go=function(el){return function(){ el.innerHTML="<div class='ok'>Спасибо за просмотр</div>"; el.onclick=null; setTimeout(function(){open("view.php?ad=6")}, 1000);}}
redirect=function(){this.innerHTML="<div class='gos'>Просмотреть сайт рекламодателя</div>"; this.onclick=go(this)}
for(i=0; i<partners.length; i++) partners[i].onclick=redirect
</script>

<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td class='normal' width='40' valign='top'>
<span class="serfimghigh"></span></td>
<td class='normal' valign='top' style='font-size:12px;padding-top:10px;'>
<div name='wrapper'>Мы предлагаем вам прямо сей<span class='serfgo'>час</span> начать зарабатывать на нашем проек<br />
<span class='desctext'>http://rashabux.ru | Таймер: 20 сек. | (new) </span>
</div>
</td>

<td class='normal' nowrap='nowrap' valign='top' style='width: 70px; text-align: right; padding-right: 10px;'>
<span class='smoolgray' title='Осталось визитов'>(250) </span>
<span class='clickprice' title='Стоимость просмотра'>0.021 руб.</span><br />
<a class='workcompn' onclick='hideserfaddblock("comp69");'  href="/zhaloba.php?id=6" title='Пожаловаться на рекламу'></a>
<a class='workevents' target='_blank' title='Рекламодатель' href='wall.php?user=988'></a>
<a class='workvirs' href='http://online.us.drweb.com/result/?url=http://rashabux.ru/' title='Проверить ссылку на вирусы' target='_blank'></a>
</td>
</tr>
</table>
<script>
partners=document.getElementsByName("wrapper")
go=function(el){return function(){ el.innerHTML="<div class='ok'>Спасибо за просмотр</div>"; el.onclick=null; setTimeout(function(){open("view.php?ad=5")}, 1000);}}
redirect=function(){this.innerHTML="<div class='gos'>Просмотреть сайт рекламодателя</div>"; this.onclick=go(this)}
for(i=0; i<partners.length; i++) partners[i].onclick=redirect
</script>

<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td class='normal' width='40' valign='top'>
<span class="serfimghigh"></span></td>
<td class='normal' valign='top' style='font-size:12px;padding-top:10px;'>
<div name='wrapper'>Добр<span class='serfgo'>о п</span>ожаловать<br />
<span class='desctext'>http://rashabux.ru | Таймер: 20 сек. | (new) </span>
</div>
</td>

<td class='normal' nowrap='nowrap' valign='top' style='width: 70px; text-align: right; padding-right: 10px;'>
<span class='smoolgray' title='Осталось визитов'>(100) </span>
<span class='clickprice' title='Стоимость просмотра'>0.021 руб.</span><br />
<a class='workcompn' onclick='hideserfaddblock("comp69");'  href="/zhaloba.php?id=5" title='Пожаловаться на рекламу'></a>
<a class='workevents' target='_blank' title='Рекламодатель' href='wall.php?user=988'></a>
<a class='workvirs' href='http://online.us.drweb.com/result/?url=http://rashabux.ru/' title='Проверить ссылку на вирусы' target='_blank'></a>
</td>
</tr>
</table>
<script>
partners=document.getElementsByName("wrapper")
go=function(el){return function(){ el.innerHTML="<div class='ok'>Спасибо за просмотр</div>"; el.onclick=null; setTimeout(function(){open("view.php?ad=3")}, 1000);}}
redirect=function(){this.innerHTML="<div class='gos'>Просмотреть сайт рекламодателя</div>"; this.onclick=go(this)}
for(i=0; i<partners.length; i++) partners[i].onclick=redirect
</script>

krutoy 04.01.2015 03:30

porezon,
А зачем столько скриптов? нужен один, в конце body. Откуда ты вот эти ссылки view.php?ad=3 выдергиваешь? тебе по ним переходы нужны, насколько я понял?

porezon 04.01.2015 03:33

да по этим ссылкам переходы, обработчик обрабатывает цифру, и кидает нужной цифре на нужный сайт. я не могу один ставить. тогда не вставлю сссылку

krutoy 04.01.2015 03:44

Не уверен, что правильно понял, но если вопрос чисто в расстоновке номеров, можешь вот так попробовать
<!DOCTYPE html>
<html>
<head>
</head>
 
<div name="wrapper">
<p>best partners 1</p>
</div>
<body>

 
<div name="wrapper">
<p>best partners 2</p>
</div>
<body>
 
<div name="wrapper">
<p>best partners 3</p>
</div>
<body>

 
<script>


partners=document.getElementsByName("wrapper")

go=function(el, num){return function(){ el.innerHTML="thanks"; el.onclick=null; open("view.php?ad="+num)}}
redirect=function(num){return function(){
  this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go(this, num)}}

for(i=0; i<partners.length; i++) partners[i].onclick=redirect(i+1)


</script>
</body>
</html>

porezon 04.01.2015 03:45

там где номера идут, там совсем разные могут от 1 до 100000 быть.

porezon 04.01.2015 03:46

мне надо бы как-то этот номер передать в эту форму

Вот типа как-то так
<div name="wrapper" id="22">
<p>best partners 1</p>
</div>

<div name="wrapper" id="1242">
<p>best partners 2</p>
</div>


и потом этот номер вывести в скрипт и чтоб перешло по нужной ссылке

krutoy 04.01.2015 03:48

porezon,
Ссылка по id формируется?

porezon 04.01.2015 03:50

да, если какого-то ид нет в базе, ошибку выдаст. Надо как-то передавать иды, вывожу ид я вот так <?=$idh;?>

krutoy 04.01.2015 03:53

<!DOCTYPE html>
<html>
<head>
</head>
 
<div name="wrapper" id="1">
<p>best partners 1</p>
</div>
<body>

 
<div name="wrapper" id="2">
<p>best partners 2</p>
</div>
<body>
 
<div name="wrapper" id="3">
<p>best partners 3</p>
</div>
<body>

 
<script>


partners=document.getElementsByName("wrapper")

go=function(el){return function(){ el.innerHTML="thanks"; el.onclick=null; open("view.php?ad="+this.id)}}
redirect=function(){
  this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go(this)}

for(i=0; i<partners.length; i++) partners[i].onclick=redirect


</script>
</body>
</html>

porezon 04.01.2015 03:57

Работает!!! Большое спасибо

krutoy 04.01.2015 04:55

porezon,
Даже лучше так:
<!DOCTYPE html>
<html>
<head>
</head>
 
<div name="wrapper" id="1">
<p>best partners 1</p>
</div>
<body>

 
<div name="wrapper" id="2">
<p>best partners 2</p>
</div>
<body>
 
<div name="wrapper" id="3">
<p>best partners 3</p>
</div>
<body>

 
<script>


partners=document.getElementsByName("wrapper")

go=function(){this.innerHTML="thanks"; this.onclick=null; open("view.php?ad="+this.id)}
redirect=function(){
  this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go}

for(i=0; i<partners.length; i++) partners[i].onclick=redirect


</script>
</body>
</html>

Не нужен там в go явный аргумент с замыканием. Это я че то запарился.

porezon 04.01.2015 14:30

еще проблемка.

вот так сейчас выглдит код:

<script language="javascript" type="text/javascript">
partners=document.getElementsByName("wrapper")
go=function(){this.innerHTML="<div class='ok'>Спасибо за просмотр</div>";this.onclick=null; open("view.php?ad="+this.id)}
redirect=function(){this.innerHTML="<div class='gos'>Просмотреть сайт рекламодателя</div>"; this.onclick=go}
for(i=0; i<partners.length; i++) partners[i].onclick=redirect
</script>

<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'><tr><td>

<div>Добро пожало<span name='wrapper' id='5' class='serfgo'>ват</span>ь<br />
<span class='desctext'>http://rashabux.ru | Таймер: 20 сек. | (new) </span>
</div>

</td></tr></table>


но проблемма сейчас такая, что часть текста пропадат только, там где спан. На весь текст я немогу поставить спан, только на 3 символа из текста. Надо как-то сделать чтоб остальной текст тоже пропадал.

porezon 04.01.2015 14:36



вот так выглядит. Лишней текст бы убрать как-то

krutoy 04.01.2015 19:11

porezon,
А почему нельзя выводить вместо этого говна
<div>Добро пожало<span name='wrapper' id='5' class='serfgo'>ват</span>ь<br />
<span class='desctext'>http://rashabux.ru | Таймер: 20 сек. | (new) </span>
</div>

Например вот так
<span name='wrapper' id='5' class='serfgo'>Добро пожаловать</span><br />
<span class='desctext'>http://rashabux.ru | Таймер: 20 сек. | (new) </span>

?
Я, честно сказать, запарился решать твои проблемы, которые уже далеко за гранью патологии.

porezon 04.01.2015 20:03

Тогда я могу нажать на любую часть ссылки, а мне надо только 3 ссимвола нажимать из всего текста.

Я так сначала и сделал, но смысл потерялс из 3 символов

porezon 04.01.2015 20:03

расскажи как вставить просто в этот див скрытие текста. И я уже сам подставлю как нужно


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