2016-05-17 4 views
0

divにAdSenseがあり、無効なトラフィックからAdSenseを保護したいと考えています。 広告をクリックした後は、非表示にして一定期間後に表示しないでください。div内のiframe内の要素がクリックされた後divを削除します

HTML:

<div id="codeWrapper"> <div id="firstCode">Adsense code here</div> </div>

CSS:

#codeWrapper { position: relative;} 
#firstCode { position: absolute; width: 336px; height: 280px; z-index: 999;} 

JS:

$("#firstCode").click(function() { 
     var date = new Date(); 
     var h = "24"; 
     date.setTime(date.getTime() + (h * 60 * 60 * 1000)); 
     Cookies.set('clicked', 'true', {expires: date, path: '/'}); 

     $(this).parent().remove(); 
}); 

私は、広告がクリックされたときに日付を保存し、有効期限を設定するためにjavascript cookieを使用しました。

コンソールにエラーはありませんが、何とか動作しません。

+0

'console.log($(this).parent());'あなたは何を得ましたか? 'codeWrapper'? – vaso123

+0

新しいタブで広告を開くと、何も記録されません。広告が別のURLにリダイレクトされるときも同じです。 –

+0

iframeを削除してクリックすると、これが表示されます。 '[div#codeWrapper、selector:" "、prevObject:a.fn.init [1]、コンテキスト:div#firstCode]' –

答えて

0

iframeに別のサーバーがある場合、実際のブラウザではiframeの内部コンテンツをスクリプトで操作できません。したがって、iframeのURLに現在のURLと同じサーバーがあるかどうかを確認する必要があります。

+0

OPはしたくないiFrameの内容で何かをするには、 'codeWrapper'である' firstCode'の親要素を削除したいと考えています。とにかく、これはコメントであり、答えではありません。 – vaso123

+0

彼の関数は '' 'Uncaught ReferenceError:Cookiesが定義されていません' 'を返しますが、クッキーの機能を削除するとうまく動作します。おそらく、彼はこのオブジェクトをデバッグする必要があります。 https://jsfiddle.net/alexndreazeved/s9u25yfm/ – alexndreazevedo

+0

リソースを実装していないため、Cookieが定義されていません。https://github.com/js-cookie/js-cookie –

関連する問題