から発生したJavaScriptのクリックをどのように検出できます<DIV>
か?
たとえば<DIV>
、ページ上の3つの異なるに3つのAdSense広告があり、広告がクリックされたときに操作を検出してトリガーしたいとします。
<DIV>
空のとき、または他の要素を使用したときのクリックを簡単に検出できます。しかし、AdSense広告(コード)のクリックを検出する方法は?
から発生したJavaScriptのクリックをどのように検出できます<DIV>
か?
たとえば<DIV>
、ページ上の3つの異なるに3つのAdSense広告があり、広告がクリックされたときに操作を検出してトリガーしたいとします。
<DIV>
空のとき、または他の要素を使用したときのクリックを簡単に検出できます。しかし、AdSense広告(コード)のクリックを検出する方法は?
私が知る限り、Adsense 広告は iframe 要素に読み込まれるため、それらにアクセスすると同じオリジン ポリシーに違反します。これは、外部 URL を指す iframe 内のクリックを検出できないため、実行できないことを意味します。
jQuery などのフレームワークを使用していますか? その場合、クリック ハンドラーを div の子に追加できます。
targetElement = $("#yourDivId").children()[0]
$(targetElement).click(function(){
alert("target element was clicked");
});
このようなことを本当に達成する必要がある場合は、ユーザーを少し騙します。
iframe をクリックしようとする代わりに、オーバーレイ div を作成して iframe の上に配置します。それにクリックイベントをつけて、divがクリックされたら非表示にします。
リンクをクリックしたような感覚をユーザーに与えますが、正しく機能しませんでした。2 回目にクリックすると、オーバーレイが非表示になるため、既に機能しています。
コード例 (説明のみ):
<html>
<style>
.test {
position : absolute;
top : 0;
left : 0;
width : 300;
height : 300;
z-index : 999;
filter : alpha(opacity = 0);
opacity : 0;
background-color:black;
}
</style>
<script>
function start(){
var div = document.getElementById("target");
var source = document.createElement("div");
source.className = "test";
document.body.appendChild(source);
var style = source.style;
var div2 = document.createElement("div");
document.body.appendChild(div2);
source.onclick = function(e){
style.display = "none";
div.onmouseout = function(){
div2.innerHTML = "mouseout";
style.display = "";
div.onmouseout = null;
}
div2.innerHTML = "clicked";
}
}
</script>
<body onload="start()">
<div id="target">
<iframe src="http://mail.ru" style="width:300;height:300"></iframe>
</div>
</div>
</html>