Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите с <iframe> блокировкой клика (https://javascript.ru/forum/dom-window/29679-pomogite-s-iframe-blokirovkojj-klika.html)

MVS 11.07.2012 22:26

Вот и это в хроме не работает! в мозиле все работает:cray:
Очень люблю хром, но увы...

vadim5june 11.07.2012 22:32

Цитата:

Сообщение от MVS (Сообщение 188189)
Вот и это в хроме не работает! в мозиле все работает:cray:
Очень люблю хром, но увы...

У меня как раз хром-только в нем и работаю-все пашет

MVS 11.07.2012 23:44

Цитата:

Сообщение от vadim5june (Сообщение 188183)
здесь мы объект уничтожили и его не вернешь можно было сдвинуть
<body onmousedown='document.getElementById("d1").style.top="500px"'  
onmouseup='document.getElementById("d1").style.top="5px"'>
<div id=d1  style='position:absolute;top:5px;width:100px;height:50px;background:yellow' >click me</div>

Есть просьба: внесите пожалуйста исправление - убрать "onmouseup", и сделать возврат не по "onmouseup", а через 5ms, потому как onmousedown в окне iframe уже не работает, и назад ничего не возвращает. Если переделать, то я надеюсь все заработает! А вообще нужно экспериментировать, и придем к ожидаемому результату!:)
Вот как сейчас http://citicom.at.ua/

Заранее спасибо! Да и вообще всем спасибо кто принимает участие!!!

Deff 12.07.2012 14:42

<style type="text/css">
#Wrap img.Cover{
  position:absolute;
  z-index:1;

}
/*
#Wrap #img1:hover{
  display:none;
}*/
#Wrap {
 margin:3px;
 padding:0;
 height:auto;
 width:auto;
 position:relative;
 display:inline-block;
 border:1px red solid;
}
</style>

<div id=Wrap>
   <img  class="Cover" oncontextmenu="oncontex(this);return false;" onmousedown="Moysedown(this)" id="img1" width="100%" height="100%" src="http://s1.uploads.ru/i/gkKOY.gif"/>
   <iframe id="NorightClick" name="NorightClick" width="400" height="400" src="http://javascript.ru/forum/dom-window/29679-pomogite-s-iframe-blokirovkojj-klika-5.html#post188206"></iframe>
</div>
<script type="text/javascript">
  var KiSs=document.getElementById('img1');

var intervalID;
var TimeOutID;//TimeOutID=
var RunFlick=false; //onmousedown="TstCur();this.style.display='none'"

var menyFlag=false;
function oncontex(txs){
menyFlag=true;
txs.style.display='block';
alert('Чо Нун ?');
}

function Moysedown(txs){
  clearTimeout(TimeOutID);
  TimeOutID=setTimeout(function() {if(!menyFlag){txs.style.display='none'}menyFlag=false;},305); //
  setTimeout(function() {txs.style.display='block'},1700); 
}

</script>
Гы - Но кликать придецо двойным кликом :dance: (*Жмите на посмотреть внутри фрейма

vadim5june 12.07.2012 15:12

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

Deff 12.07.2012 15:13

vadim5june,
Ну чую Скоро Аяксом придется показывать :D

vadim5june 12.07.2012 15:17

Цитата:

Сообщение от Deff (Сообщение 188303)
vadim5june,
Ну чую Скоро Аяксом придется показывать :D

с аяксом или сервером проблемы с адресацией будут

Deff 12.07.2012 15:22

vadim5june,
Ды я писал - отлавилать клик по ссылке и именно эту ссылку и грузить

MVS 12.07.2012 19:08

Ну скажем так - работает, но в данном случае это работает для бабушек окончивших бесплатные курсы:dance:
Впрочем, проблема можно сказать почти решена - если нет более других решений!
Спасибо за предложенный вариант - это лучшее решение что я встречал!

Буду тестить, результат выложу позже.

P.S. Если можно, предложите более лучшее решение - убрать правый клик вообще. Может есть способ еще с каким скриптом совместить в паре?

MVS 12.07.2012 21:40

Установил,спасибо, результат вот http://citicom.at.ua/

Скажите - есть какая нибудь возможность сделать по одному клику, а то нужно уметь именно в один такт попадать по двойному клику, а это не всем дано - критику уже страница прошла?


Пришла одна мысль, не знаю реализовать можно или нет:
делаем один клик, а другой делать(дублировать) программно - скриптом. Это реально?

dmitriymar 12.07.2012 22:30

Цитата:

Сообщение от MVS
делаем один клик, а другой делать(дублировать) программно - скриптом. Это реально?

с чужим содержимым в фрейме-нет
может задачу с сервером нужно было решать? парсить чужой сайт и отдавать содержимое?

MVS 13.07.2012 02:17

Цитата:

Сообщение от dmitriymar (Сообщение 188392)
с чужим содержимым в фрейме-нет
может задачу с сервером нужно было решать? парсить чужой сайт и отдавать содержимое?

так а простое дублирование клика не пройдет, после первого клика ведь контент несколько ms открыт?

Deff 13.07.2012 14:17

Цитата:

Сообщение от MVS
ак а простое дублирование клика не пройдет

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

vadim5june 13.07.2012 14:20

Цитата:

Сообщение от Deff (Сообщение 188520)
MVS,
Невозможно делать любой програмный клик на чужом домене, весь смысл огорода..

Deff весь его энтузиазм исходит из того что он плохо понимает javascript

MVS 13.07.2012 14:57

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

Да кстати, следующее и надеюсь последнее - как растянуть страницу на всю высоту фрейма, а то сейчас некак скролить - сверху то фон!!! Ну или убирать программно фон если работает скролл (вверх или вниз)

vadim5june 13.07.2012 15:03

Цитата:

Сообщение от MVS (Сообщение 188529)
я программировал на MQL4,

А там можно сделать чтобы программа вместо трейдера операции проводила(открытия и закрытия позиции установить стоп итд) или она только советы давать может?

MVS 13.07.2012 15:59

Цитата:

Сообщение от vadim5june (Сообщение 188532)
А там можно сделать чтобы программа вместо трейдера операции проводила(открытия и закрытия позиции установить стоп итд) или она только советы давать может?

она так и работает - все за трейдера, по заложенному в нее коду, а можно заложить только советы (алертами)
__________________________________________________ ___________________________________
__________________________________________________ ___________________________________
Вопрос по фрейму не снимается....
как растянуть страницу на всю высоту фрейма, а то сейчас некак скролить - сверху то фон!!! Ну или убирать программно фон если работает скролл (вверх или вниз)

Deff 13.07.2012 17:07

Цитата:

Сообщение от MVS
как растянуть страницу на всю высоту фрейма, а то сейчас некак скролить - сверху то фон!!! Ну или убирать программно фон если работает скролл (вверх или вниз)

Cделаем - чуть позже - работаю пока над однокликовым вариантом

MVS 13.07.2012 18:36

Цитата:

Сообщение от Deff (Сообщение 188554)
Cделаем - чуть позже - работаю пока над однокликовым вариантом

Спасибо! Жду с нетерпением!!

Deff 14.07.2012 01:48

MVS,
Создайте вот такую отдельную страницу:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
$(document).ready(function(){
$("#mouselayer").find("a.mouselink[href='#']").click();
});
function LF() {
var styl='<style>#mouselayer{display:none!important;}</style>';
$("#Iframe001").ready(function(){
 $(document.iframe001).unload( function () {//alert('БАЙ!');
  setTimeout('LF()',567)
 });
 var a=$("#Iframe001").contents();
 a.find("body").append(styl);
 a.find("body").append('Im in an iframe!');
 $(document.iframe001).bind("contextmenu",function(e){
  return false;
 });
});
}LF()
</script>

<div id=Wrap>
   <iframe id="Iframe001" name="iframe001" width="1250" height="7000" src="http://www.microtron.zp.ua/goods" onload=""></iframe>

</div>

</body>
</html>

Более на ней ничего не должно быть - выложите ссылку я скажу план дальнейших действий

MVS 14.07.2012 03:37

Создал-какие действия дальше!:)
вот здесь http://citicom.at.ua/shop.html

Deff 14.07.2012 10:26

MVS,
Вот этот код можно вставлить на свoю страницу:
<style type="text/css">
#FRAME001{
 display:block;
 position:relative;
 margin-top:-172px;
 margin-left:-12px;
}
#Wrap {
 overflow:hidden;
 border:#CCE3EF 6px solid;
 width:990px;
 height:2700px;
}
</style>

<div id=Wrap>
   <iframe id="FRAME001" width="1270" height="7050" src="http://anonymouse.org/cgi-bin/anon-www.cgi/http://citicom.at.ua/shop.html" onload=""></iframe>

</div>

Deff 14.07.2012 10:46

:write: В Мозилле пока барахлит(Делал под Оперой, - завтра докую (*в ИЕ - Хроме - норма

MVS 14.07.2012 11:37

Вот вставил ваш код сюда http://citicom.at.ua/
Буду тестировать!

Да, а как сделать сортировку по цене?:)

Deff 14.07.2012 11:43

Цитата:

Сообщение от MVS
Да, а как сделать сортировку по цене?

Использовать API от партнёра, про которое Вы упоминали.. :write:

Deff 14.07.2012 12:23

Цитата:

<div id=Wrap>
<iframe id="FRAME001" width="1250" height="7050" src="http://anonymouse.org/cgi-bin/anon-www.cgi/http://citicom.at.ua/shop.html" onload=""></iframe>
</div>

MVS, Цифру синим не нужно исправлять на 100% !
Можно поправить так - чтобы было по центру

<style type="text/css">
#FRAME001{
 display:block;
 position:relative;
 margin-top:-172px;
 margin-left:-12px;
}
#Wrap {
 overflow:hidden;
 border:#CCE3EF 6px solid;
 width:990px;
 margin:0 auto;
 height:2700px;
}
</style>

<div id=Wrap>
   <iframe id="FRAME001" width="1270" height="7050" src="http://anonymouse.org/cgi-bin/anon-www.cgi/http://citicom.at.ua/shop.html" onload=""></iframe>

</div>

MVS 14.07.2012 12:34

все-таки первый двух-кликовый вариант более функционален, вот его если-б модернизировать!
Там нужно растянуть страницу по высоте контента ифрейма - и все будет ОК!

Здесь у нас тоже весь контент не помещается - он все-таки изменяется у них постоянно

Да, насчет API - у них нет такого.

Deff 14.07.2012 12:52

Цитата:

Сообщение от MVS
десь у нас тоже весь контент не помещается - он все-таки изменяется у них постоянно

Крутите скроллом наводя на фрейм - там не обязательно , чтобы помещался, он скроллируецо прямо в окне
И - заметьте - везде кроме Мозиллы правого клика нет!
(Растяжку по ширине думаю не стоит делать - поместить div id=Wrap в среднюю ячейку таблицы(вот её крайние ячейки резиновые, в которых и сделать Ваши сайдбары с пояснениями - рекламой

Добью для Мозиллы - продемонстрирую на счёт заключения в таблицу

MVS 14.07.2012 13:07

Я думаю не нужно на этот вариант тратить время
Самое смешное, что таким способом он отображает товар которого уже нет около года, то есть берет с микротрона старые базы товара
вот пример: http://www.microtron.zp.ua/goods#p26134 а там пишет что нет в наличии, и много таких примеров(получается мой сайт не актуален).
Каким образом он старые базы берет? Да это и не интересно!

Давай-те модернизируем двух-кликовый вариант - растянем на всю ширину фрейма, и я думаю что на этом остановимся!
Спасибо за труды!!!

Deff 14.07.2012 13:46

Цитата:

Сообщение от MVS
Самое смешное, что таким способом он отображает товар которого уже нет около года,

Ну в принципе мон поисследовать .. хотя мне всё одно,
Подумаю...

vadim5june 14.07.2012 14:06

Цитата:

Сообщение от Deff (Сообщение 188758)
Ну в принципе мон поисследовать .. хотя мне всё одно,
Подумаю...

все таки с прокси получилось

MVS 14.07.2012 20:35

Цитата:

Сообщение от vadim5june (Сообщение 188760)
все таки с прокси получилось

Да, с прокси номер прошел.

vadim5june 14.07.2012 20:38

Цитата:

Сообщение от MVS (Сообщение 188876)
Да, с прокси номер прошел.

по идее когда делаешь с прокси какие то функции не будут работать
то есть не все так просто

Deff 14.07.2012 20:42

MVS,
Вы выложите ссылку и скриншот, - где кликаешь на реальном сайте (а на фрейме глюк)
ВЫложитете адрес страницы, где кликаем ссыль на реальном сайте и ссыль которая открывается в нём(которая во фрейме портицо - подозреваю, что обрезан параметр в ссылке(может поправим

MVS 14.07.2012 20:59

Цитата:

Сообщение от Deff (Сообщение 188880)
MVS,
Вы выложите ссылку и скриншот, - где кликаешь на реальном сайте (а на фрейме глюк)
ВЫложитете адрес страницы, где кликаем ссыль на реальном сайте и ссыль которая открывается в нём(которая во фрейме портицо - подозреваю, что обрезан параметр в ссылке(может поправим

Портится сортировка по цене, + по категория хождение-не есть гуд.
Предположим, вы хотите купить недорогой ноутбук(производитель значения не имеет), заходите в категорию ноутбуки, жмете "сортировка по цене" и выбираете себе вариант - так должно быть!

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

Следующее, вы заходите в категорию Samsung и наконец-то нашли самый дешевый за ~500$, и думаете что сайт г..но - дорогой, покупатель ведь не зашел в категорию HP, где самый дешевый ~350$

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

По поводу старых баз - сразу можно увидеть в разделе: Комплектующие ПК < процессоры < AMD
Процессор AMD Athlon 64 X2 5200 box снят с продаж около 2 лет назад!

Deff 14.07.2012 21:34

Да - сортировка отваливается, тут с прокси уже не попрешь

Deff 14.07.2012 22:08

MVS,
:) Мож без всяких - поставить чисто таким макаром ?MVS,
<style type="text/css">
#FRAME001{
 display:block;
 position:relative;
 margin-top:-172px;
 margin-left:-12px;
}
#Wrap {
 overflow:hidden;
 border:#CCE3EF 6px solid;
 width:1000px;
 margin:0 auto;
 height:2700px;
}
</style>

<div id=Wrap>
 <iframe id="FRAME001" width="1270" height="7050" src="http://www.microtron.zp.ua/goods" onload=""></iframe>

</div>

MVS 14.07.2012 23:28

Так это и есть тот вариант который был изначально.
Правый клик работает на ура, страница в автомате на всю высоту не растягивается, вручную не угадаешь - контент ведь меняется.
Спасибо за труды!
Больше вариантов нет? Меня устраивает больше тот двух-кликовый вариант, вот только страницу если-б растянуть программно, ну или убирать программно фон если работает скролл (вверх или вниз)-я был бы рад!:)
Это реально сделать?

vadim5june 15.07.2012 09:54

Цитата:

Сообщение от Deff (Сообщение 188895)
Да - сортировка отваливается, тут с прокси уже не попрешь

Есть еще вариант с прокси но отображать не во фрейме а на главной странице
Он более сложный но мы зато можем свои скрипты уже применять

Deff 15.07.2012 10:13

vadim5june,
Да скрипты - мну поставил и во фрейм, в частности запрет по правой, но сортировка идет по сокращенному адресу - а переиваивать чужой скрипт сортировки ( он подгружаемый и длинный) на чужом адресе чот не вставляет


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