Как определить, какой элемент был нажат внутри iframe javascript - PullRequest
0 голосов
/ 19 октября 2018

Можно ли определить, какой элемент был нажат внутри iframe?

var iframe = document.getElementById("my_iframe");
	iframe.document.addEventListener('click', function(event) {		
		console.log(this.id);
	}, false);
<iframe id="my_iframe"
        src="https://fr.wikipedia.org/wiki/Wiki"
        frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:100%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px"
         height="100%" width="100%">
</iframe>

1 Ответ

0 голосов
/ 19 октября 2018

Вам нужно использовать .contentWindow.document в iframe:

var iframe = document.getElementById("my_iframe");
iframe.contentWindow.document.addEventListener('click', function(event) {		
	console.log(this.id);
}, false);
<iframe id="my_iframe"
        src="https://fr.wikipedia.org/wiki/Wiki"
        frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:100%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px"
         height="100%" width="100%">
</iframe>

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

Если у вас есть доступ к обоим сайтамТем не менее, вы можете общаться с API postmessage: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...