Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как узнать, что кликнули по блоку
 
 автор: Valleri   (04.02.2012 в 20:24)   письмо автору
 
 

<script type="text/javascript">
teasernet_blockid = 272859;
teasernet_padid = 111340;
</script>
<script type="text/javascript" src="http://treprime.com/javascript/t0"></script>

Обычным способом-не получается

  Ответить  
 
 автор: cheops   (04.02.2012 в 20:54)   письмо автору
 
   для: Valleri   (04.02.2012 в 20:24)
 

1. А где блок, по которому кликают?
>Обычным способом-не получается
2. Под обычным способом что имеется в виду? Атрибут onclick или навешивание события через JavaScript?

  Ответить  
 
 автор: Valleri   (05.02.2012 в 00:13)   письмо автору
 
   для: cheops   (04.02.2012 в 20:54)
 

1.Если скопировать мышкой, вставить в файл с расширением html -> будут видны рекламные квадратики в рамке.
2.
<div>
<script type="text/javascript"> 
teasernet_blockid = 272859;
teasernet_padid = 111340;
</script> 
<script type="text/javascript" src="http://treprime.com/javascript/t0"></script>
</div>


Когда кликают, то на дивах не перехватить событие

  Ответить  
 
 автор: АЯС   (05.02.2012 в 08:07)   письмо автору
 
   для: Valleri   (05.02.2012 в 00:13)
 

Скрипт http://treprime.com/javascript/t0, который вы вашим кодом к своей странице подключаете, создаёт на вашей странице ифрейм, в который загружает чужую страницу с адресом http://web.loneday.com/...

Интересующие вас блоки, по которым кликают, находятся как раз на чужой странице.

Между своим и чужим разницу понимаете?
Свой кошелёк вы можете открыть, находящиеся в нём денежки пересчитать и даже взять оттуда столько денег, сколько захотите.
А вот попробуйте чего-то взять из чужого кошелька - сразу получите по рукам.

Информация о чужих страницах яваскрипту НЕДОСТУПНА.
Вы можете отследить перемещения мыши (и все её клики) по телу своей страницы, но как только мышь "заедет" в созданный скриптом ифрейм - НИКАКОЙ информации вы о действиях мыши получить уже не сможете.

  Ответить  
 
 автор: Valleri   (05.02.2012 в 12:25)   письмо автору
 
   для: АЯС   (05.02.2012 в 08:07)
 

С каким то упорством вы рассуждаете от частного, а нет о общего. С каким то упорством вы проводите не корректную аналогию.
Я сейчас сокрушать вашу субъективно-идеалистическую логику не буду. Я оставлю это на десерт, когда вы сделаете все таки ошибку.

Если другие сайты знают, статистику посещений моего сайта чужого(счетчик от них я не ставил, то почему это нельзя другим?
Ну и где тут чужие кошельки, ну к чему эти ваши чужие кошельки привязывать.

Мне не нужна детальная информация, мне нужны некоторые приметы, что "он-чужой" ушел "туда - к чужому"

  Ответить  
 
 автор: АЯС   (05.02.2012 в 12:35)   письмо автору
 
   для: Valleri   (05.02.2012 в 12:25)
 

Это каким-таким сайтам интересно вдруг стало - кто и когда вас посещает? :-))
-----

Повторяю ещё раз - яваскрипт на странице работает в пределах своего домена. Т.е. он может отследить всё что душе будет угодно, но только на страницах, кои расположены на том же домене, что и страница, где исполняемый код яваскрипта прописан. Все страницы с прочих доменных имён для этого кода яваскрипта - чужие и, значит, информация о них ему недоступна.

  Ответить  
 
 автор: Valleri   (05.02.2012 в 12:55)   письмо автору
 
   для: АЯС   (05.02.2012 в 12:35)
 

Опять собственническая и чуждая терминология. В прошлый раз вы тоже много раз повторяли и прятались в тени трюизма. Там дьявол обычно прячется.

Если вы хотите сказать, про область видимости, так и скажите. Пролейте свет, ведь луч света в темном царстве, как известно... Будет все просто и понятно.
Ведь при открытии страницы все "матрешечно" переписывается в одну область памяти
И чужое и не чужое оказываются в одном месте

Но я не знаю, как они рекламщики, записывают информацию на мою чужую страницу. Сейчас не знаю.

У меня на некоторых сайтах, явойскриптом воткнуты чужие страницы других сайтов.
И некий яндекс считает чужие страницы моими и гонит мне бешеную статистику.... статистику индексированных страниц. Я сам когда увидел - обомлел

Вы мифически все так разграничили на чужое и мое абстрактно-художественной стилистикой.

Я предполагаю так, что если было бы document.write или там "inner" какой то, то можно сделать то, что озвучил в начале.
чужое - на моем находится. И трудно сказать, для кого то это чужое, а для кого то уже мое.
В последний раз у этого document оказалось charset - весь туман рассеялся.

  Ответить  
 
 автор: Valleri   (05.02.2012 в 13:14)   письмо автору
 
   для: АЯС   (05.02.2012 в 12:35)
 

И главное, что взяли и подменили тезис, перевели все в русло чужой и мой. Но это только в вашей голове а не в реальности
Сейчас просмотрел конструкцией - вроде все доступно
<html>
<script type="text/javascript"> 
teasernet_blockid = 272859;
teasernet_padid = 111340;
</script> 
<script type="text/javascript" src="http://treprime.com/javascript/t0"></script> 

<script>
function Dom() {
var all = document.getElementsByTagName('*') ;
for(var i=0; i < all.length; i++){
 alert("<id> = "+all[i].id+" <name> = "+all[i].name+ "  <tagName> = "+all[i].tagName +"  <nodeValue> = "+all[i].nodeValue+"  <textContent> = "+all[i].textContent  );
 } 

};
</script>
</html>
    <h1><a href=""; name="Dom" id="Dom" onclick="Dom();">dom</a> </h1>
этой

  Ответить  
 
 автор: АЯС   (05.02.2012 в 14:55)   письмо автору
 
   для: Valleri   (05.02.2012 в 13:14)
 

Ну и?
Запустили написанный вами код?

Запустите.
Дойдёте до <tagName> = IFRAME, в который помещён чужой для вашего скрипта контент и затем - уйдёте на тег <H1>, вами написанный, на ссылку внутри этого тега... и всё - "гуляй, Вася, жуй опилки!" Все те "блоки", находящиеся в ифрейме, и по которым посетители могут кликнуть - они вашему скрипту НЕДОСТУПНЫ.

----
В общем, если вам кажется, что только то, что происходит в вашей голове - это реальность, а у всех других в головах "что-то путается", то вам стоит СРОЧНО обратиться к специалисту соответствующего профиля... по болезням головного мозга который.

  Ответить  
 
 автор: Valleri   (05.02.2012 в 15:24)   письмо автору
 
   для: АЯС   (05.02.2012 в 14:55)
 

Так сам я и есть специалист.
Я в яве не специалист.
IFRAME - все правильно. У меня дочернее окошечко.

Я вам говорил, что вы индуктивно рассуждаете. Т.е. от частного к общему, от личного опыта к мировой теории.
Поэтому и сокрушаетесь когда попадаете в капкан обстоятельств.
Объективная реальность у вас в тумане и вы на личности переходите.

Вам дедуктивно продолжить, что IFRAME у меня дочернее окошко или вами сами перейдете на профессиональную речь.
Закончите ход логического дедуктивного рассуждения.

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

  Ответить  
 
 автор: АЯС   (05.02.2012 в 15:43)   письмо автору
 
   для: Valleri   (05.02.2012 в 15:24)
 

Балаболка вы.

Выкладываете конкретный код со скриптовым формированием ифрейма с чужой страницей внутри и заявляете, что вашему скрипту якобы что-то доступно на чужой странице.

Когда вам показывают, что скрипт ваш не работает, ибо он и не может работать, вы начинаете трындеть о каком-то "дочернем окошке"?

Откуда оно взялось-то?
В вашей голове?
Походу - оно у вас там всегда было, весь мозг ветром и выдуло :-)

  Ответить  
 
 автор: Valleri   (05.02.2012 в 16:14)   письмо автору
 
   для: АЯС   (05.02.2012 в 15:43)
 

Сейчас я Гудмана читаю.
Про дочерние и родительские окна.
Еще интересно, что из родительского, я могу в дочернем сделать....
Почитать надо
....
Я же говорил, что вы мыслите индуктивно. Во всем либерализм сквозит.

Жиденький отстой с прозрачной пошлостью

Но опыт ваш и положительный и отрицательный бесценен.
Хотя надо признать, что я без вас - совсем пустое место.

  Ответить  
 
 автор: Valleri   (05.02.2012 в 18:09)   письмо автору
 
   для: АЯС   (05.02.2012 в 15:43)
 

Первая ваша ошибка
1. Чужой - это абстракция, далее вы рассуждаете в плоскости абстракции и из абстракции делаете выводы
Вторая ваша ошибка
2. Чужой - надо мысль специфицировать. Он чужой когда открыт отдельно.
Третья ваша ошибка
3. Чужой. страница открыта в родительском окне из которого можно делать все что угодно с дочерним, точнее очень много можно сделать.
Четвертая ваша ошибка
4. Вы мыслите от языка, как опытный программист.
На самом деле интерпретатор копирует содержимое родительского окна, дочернего окна в область памяти локального компа(ну там длинная дорога по сети) со страницы чужого домена.
Копирует вовсе не чужой домен, а из содержимого страницы чужого домена.
Чужую страницу я не меняю, а вот копию реальности для локального интерпретатора браузера я меня как мне надо.
После копирования он выполняет копию, которую подставил ему я.

Тут вариантов много

Моя ошибка
5. Без вас я бы не разобрался

Смотрите что получается - у вас больше ошибок, чем у меня :):):)

Краткое примечание
В философии материализма так звучит: "Часть всегда меньше общего. Часть всегда входит в общее." И еще, если что-то где-то прибавилось, то значит что-то где-то убавилось.
Аксиоматика проведена корректно.

  Ответить  
 
 автор: Valleri   (07.02.2012 в 16:56)   письмо автору
 
   для: АЯС   (05.02.2012 в 15:43)
 

В принципе все работает
В некоторых, у половины, браузерах не работает, кода в src есть http.
Если есть ссылки на достоверные источники первичных истин ( RFC и т. д.), что доступ к содержимому iframe будет закрыт - буду благодарен

  Ответить  
 
 автор: Lelik   (07.02.2012 в 17:00)   письмо автору
 
   для: Valleri   (07.02.2012 в 16:56)
 

В некоторых, у половины, браузерах не работает, кода в src есть http.
onclick="Dom(); return false;"


если про iframe речь, то вот почитать было бы полезно

  Ответить  
 
 автор: Valleri   (07.02.2012 в 19:39)   письмо автору
 
   для: Lelik   (07.02.2012 в 17:00)
 

Спасибо.
Уточню, углублю мой вопрос.
1. На страницах моего сайта вставлены iframe рекламной кампании другого сайта
Т.е в iframe отображается домен, http

? Вопрос, можно ли перехватить для контроля клик по рекламе в iframe?
Т.е. добавить к содержимому iframe "контрольные точки "или как то иначе?

Реально существует множество способов, но вопрос упирается в то что в iframe чужой домен.
Гипотеза 1.
Нельзя(если http), так... читай выше
Можно, тоже читайте выше.

В моем эксперименте(Текст скрипта могу привести если надо)
1.Safari, IE предоставляют доступ для изменения содержимого iframe
2. Другие браузеры, при наличии http в источнике, доступ к содержимому iframe - не дают

  Ответить  
 
 автор: Lelik   (07.02.2012 в 19:55)   письмо автору
 
   для: Valleri   (07.02.2012 в 19:39)
 

? Вопрос, можно ли перехватить для контроля клик по рекламе в iframe?
я вам порекомендовал бы ознакомиться с такой темой как кроссдоменность (к сожалению не могу порекомендовать статьи на русском, на англицком с гугилтранслейтом идёт на ура).

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

  Ответить  
 
 автор: Valleri   (07.02.2012 в 20:09)   письмо автору
 
   для: Lelik   (07.02.2012 в 19:55)
 

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

Еще раз спасибо Вам, не втягивайте меня в другие проблемы.
Надеюсь, как и ВСЕХ, вас ждет успех.

  Ответить  
 
 автор: Lelik   (07.02.2012 в 20:24)   письмо автору
 
   для: Valleri   (07.02.2012 в 20:09)
 

Отпишитесь в тему когда решите проблему с отловом клика в чужом фрейме, а то пребывая в своих мечтах, я не могу понять как это возможно :)

  Ответить  
 
 автор: Lelik   (07.02.2012 в 20:05)   письмо автору
 
   для: Valleri   (07.02.2012 в 19:39)
 

тов. АЯС прекрасный специалист по джаваскрипту (это я по его ответам на форуме наблюдаю), но ему было бы не лишним усилить науку общения с людьми :)

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

  Ответить  
 
 автор: Valleri   (07.02.2012 в 20:20)   письмо автору
 
   для: Lelik   (07.02.2012 в 20:05)
 

По-мойму ему просто очень, хреново.
Ты достиг Высшего и никому не нужен, тебя не любят( только за деньги), ты ...
Я проходил, в эпоху чередующихся НТР много раз.
Чем дальше, тем чаще начинает казаться, что кругом дебилы.
Я сам утонул в этой идее, в этом духе, в этом бреде, ... и мне тоже часто начинало казаться, что кругом дэбилы, а я, я, я достиг много , а эти идиоты- мешают жить.

Фиг знает тов майор.
Я знаю . что - только работа вредно, только семья вредно для остальных.
Животному легче, пардон, животное сострадает, если родич не может.
Человек на дистанции пожирания в азарте, и не важно на кого идет охота и кто в дураках оказался

Такова жизнь, каждый из нас когда ни будить вырвется в перде
Россия в перде.б Т. Е
Россия в в перед

Кстати АЯС, если дальше, то ты потеряешь семью, радость гордыни не долго прдолжится

Персонально, АЯС, ты сам то тонешь или всплываешь?
Как кто и куда.
---------------------------------------------------------------------------------
30 лет я жил и чувствовал, что не дурак, других умнее.
Везде, всегда во всем успешен, знатен и умен, хорош собой
Гордыня съела, потерял я ЧУВСТВО РЕАЛИЗМА - что есть реальность и этим умер, химера овладела мной
Да ну все на х, эру НТР, мораль...
Парден, мне плохо, я пойду

  Ответить  
 
 автор: Valleri   (07.02.2012 в 20:40)   письмо автору
 
   для: Lelik   (07.02.2012 в 20:05)
 

Я бы встретился и с ним, и с тобой, ис вами.
Я старый хрыч, мне 50, мне помирать, разружено все и все что можно
Я б Ленинграде встретил Вас, устроил встречу на перроне.
Потом обнял по братски.
Мне все равно кто вы, кто я
Считаю все достойны.

Я так устал, усталость может, создаст желание ...

  Ответить  
 
 автор: Lelik   (07.02.2012 в 20:50)   письмо автору
 
   для: Valleri   (07.02.2012 в 20:40)
 

в общем, ваша задача прямым способом не решаема, есть обходной путь:

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

  Ответить  
 
 автор: Valleri   (08.02.2012 в 03:45)   письмо автору
 
   для: Lelik   (07.02.2012 в 20:50)
 

Я об этом думал, несколько раз, но не могу сообразить с кодом.
Помогите с кодом ?

  Ответить  
 
 автор: Lelik   (08.02.2012 в 12:51)   письмо автору
 
   для: Valleri   (08.02.2012 в 03:45)
 

нет. фрейм трогать вообще не надо. надо работать с блоком в который вставляется код.

<script>
function iframeHover(){
    var parent = document.getElementById('iframe_hover');
    
    var img = new Image();
    img.onload = function(){
        var w = parent.offsetWidth();
        var h = parent.offsetHeight();
        
        img.width = w;
        img.height = h;
        img.style.position = 'absolute';
        img.style.zIndex = '100';
        img.style.left = '0px';
        img.style.top = '0px';
        img.style.cursor = 'pointer';
        img.onclick = function(){
            //а здесь вызов функции, которая будет отлавливать клик по рисунку, по координатам его.
            //в ней было бы не плохо брать размеры картинок во фреймах + урлы ссылок и пр.
            imageClick();
        }
        parent.appendChild(img);
    }
    img.src = 'empty.gif'; // путь к прозрачному гифу
}
</script>
<body onload="iframeHover();">
    <div id="iframe_hover">
    <!-- тут вставляется жабаскрипт для генерирования ифреймов -->
    </div>
</body>

  Ответить  
 
 автор: Valleri   (08.02.2012 в 03:39)   письмо автору
 
   для: Lelik   (07.02.2012 в 20:05)
 

<html>

<script>
  function eventhandler() {
    alert("eventhandler");
   }  

  function makeGreen() {
    var iframe = document.getElementsByTagName('iframe')[0];
    var doc iframe.contentWindow.document;
    doc.body.style.backgroundColor = 'green';

          if  (doc.addEventListener){
               doc.addEventListener("click", eventhandler,false);
               alert("addEventListener");
        
          }else if (doc.attachEvent){
               doc.attachEvent("click", eventhandler);
               alert("attachEvent");
          }
  }

</script>

<iframe src="" style="height:60px"></iframe>
<input type="button" onclick="makeGreen()" value="click me">

</html>

  Ответить  
 
 автор: Valleri   (07.02.2012 в 19:40)   письмо автору
 
   для: Lelik   (07.02.2012 в 17:00)
 

Спасибо.
Уточню, углублю мой вопрос.
На страницах моего сайта вставлены iframe рекламной кампании другого сайта
Т.е в iframe отображается домен, http

? Вопрос, можно ли перехватить для контроля клик по рекламе в iframe?
Т.е. добавить к содержимому iframe "контрольные точки "или как то иначе?

Реально существует множество способов, но вопрос упирается в то что в iframe чужой домен.
Гипотеза 1.
Нельзя(если http), так... читай выше
Можно, тоже читайте выше.

В моем эксперименте(Текст скрипта могу привести если надо)
1.Safari, IE предоставляют доступ для изменения содержимого iframe
2. Другие браузеры, при наличии http в источнике, доступ к содержимому iframe - не дают

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования