タブアンダー広告をjQueryで再現する方法
2024/01/13
サイト内のリンクをクリックすると、新しいタブもしくはウィンドウで開く広告をちょいちょい見るけど、どういう仕組みになっているのか気になった。以下に方法のメモ。
再現したいこと
- サイト内のリンクをクリックするとタブアンダーで指定したURLを開く。javascript:void(0)みたいなリンクは開かない。
- クリックすると以降○時間はタブアンダーは開かない。○時間の部分は任意で設定可能。
ソース
(function($){
$.fn.popad = function(options){
var defaults = {
url : '',
limit : 1
};
var setting = $.extend(defaults, options);
if( setting.url == '' ){
return false;
}
if( setting.limit < 1 || setting.limit > 24 ){
setting.limit = 1;
}
//cookieの処理
var flg = true;
var all_cookies = document.cookie;
if( all_cookies != '' ){
var cookies = all_cookies.split('; ');
for( var i = 0; i < cookies.length; i++ ){
var cookie = cookies[ i ].split('=');
if( cookie[0] == 'popad' ){
flg = false;
}
}
}
//aタグクリック
jQuery('a').click(function(){
var click_url = $(this).attr('href');
if( !click_url.match(/(http|https):\/\/.+/) ){
return false;
}
if( flg ){
var expire = new Date();
expire.setTime( expire.getTime() + 1000 * 3600 * setting.limit );
document.cookie = 'popad=1; path=/; expires=' + expire.toUTCString();
window.location.href = setting.url;
window.open($(this).attr('href'));
return false;
}
});
}
})(jQuery);
※使用される場合は自己責任でお願いします。
サンプル
https://taitan916.info/sample/popad/
使い方
jQueryと一緒に読み込む。以下でURLと時間を指定する。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="./jquery.popad.js"></script>
<script>
$(function(){
$().popad({
url : 'http://yahoo.co.jp', //別タブで開かせたいURL。指定しない場合はタブは開かず。
limit : 1 //有効時間設定。1~24時間までで整数値。デフォルトは1時間
});
});
</script>
その他
動作は多分再現できたはず。ただアフィリエイトとかだと相手先から許可は出なさそう。というかペナルティを喰らいそう。
関連記事
-
-
日本地図のクリッカブルマップをjQueryで実装する方法(japan-map)
JavaScriptもしくはjQueryで日本地図を表示し、都道府県や八地方区分 ...
-
-
テキストエリアを選択すると中身を全選択状態にする方法
テキストエリアやテキストボックスの中に文字が書いてあり、ドラッグをしなくても、そ ...
-
-
formのtextareaに文字を入力した内容をリアルタイムプレビューする方法
textarea内に書いた内容をリアルタイムでプレビューする機能が必要になった。 ...
-
-
「slick」で作成したスライダー画像にランキングの順位を表示する方法
「slick」で作成したスライダー画像に対して、ランキングの順位を表示したいとい ...
-
-
NicEdit(WYSIWYGエディタ)を再描写時にサイズを調整する方法
NicEdit(WYSIWYGエディタ)を設置しているサイトがあった。ページ読み ...