Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.08.2018, 21:41
Новичок на форуме
Отправить личное сообщение для len'dumat' Посмотреть профиль Найти все сообщения от len'dumat'
 
Регистрация: 28.08.2018
Сообщений: 7

Сообщение от j0hnik Посмотреть сообщение
<iframe src="https://masterhost.ru/"></iframe>
	<script>
var monitor = setInterval(function(){
    var elem = document.activeElement;
    if(elem && elem.tagName == 'IFRAME'){
		alert('По iframe кликнули!');
        clearInterval(monitor);
    }
}, 100);
	</script>
Спасибо, за скрипт, его и взял Изменил для своих целей, при клике в iframe, моя страница поднимается вверх, закрывая iframe собой. Может кому пригодится:
<iframe  src="https://masterhost.ru" frameborder="0" style="width:100%; height:100%; position: absolute; z-index: 2"></iframe>
        <script>
var monitor = setInterval(function(){
    var elem = document.activeElement;
    if(elem && elem.tagName == 'IFRAME'){
        document.getElementById("mydiv").style.zIndex = "3";
    }
}, 100);
    </script> 
        <div id="mydiv"></div>


Как писал выше, нужно еще добавить, к примеру, блоки, заблокировав ненужные для клика места, что сделает этот скрипт не бессмысленным Конечно гарантии нет, что все равно кликнут куда нужно, но все же, поможет избавится от случайных/глупых кликов по всему iframe
Ответить с цитированием
  #12 (permalink)  
Старый 30.08.2018, 00:49
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

len'dumat'

<iframe src="https://masterhost.ru/" id="ifr"></iframe>
	<script>

		var flag;
		ifr.onmouseover = function(e) {
			flag = true;
			(function run(){
				var elem = document.activeElement;
				if(elem === ifr){
					console.log('По iframe кликнули!');
					ifr.blur();
				}
				if(flag) setTimeout(run,100);
			})();
		};

		ifr.onmouseout = function(e) {
			flag = false;
			ifr.blur();
		};

	</script>


Доработал код, убрал злостный интервал, добавил множественное отслеживание, добавил обработчик onmouseover чтобы не дрочить ф-ию без надобности.

Последний раз редактировалось j0hnik, 30.08.2018 в 01:00.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вакансия: Программист IOS, работа в офисе,г.Ростов-на-Дону Анна NikitaOnline Работа 0 21.03.2016 18:45
работа менеджером georgi Работа 1 29.03.2013 14:18
Постоянная работа / Front-end / Москва kooper Работа 4 29.09.2011 22:06