広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog
「ここにブログの名前を入れます」は更新を終了しました。記事はすべて新ブログ「Big Bang」に移転済みです。記事のタイトルをクリックすると新ブログの該当記事に移動します。そちらでお楽しみください。

カテゴリー別アーカイブ  :  

トップページの最初の記事下にだけ広告を出す

このブログはファンブログというサービスに書いているので
ファンブログのテンプレート(スキン)を例に説明します。

ファンブログだとトップページを表示するのが「メイン」テンプレート
カテゴリー別や月別などの表示が「アーカイブ」テンプレートです。

この2つのテンプレート中の <BlogEntries> から </BlogEntries> までがメインループです。

2つのテンプレート中には下の箇所があります。

<BlogEntries>
<div class="entry">

...中略...

</div><!-- entry -->
</BlogEntries>

<div class="entry"> から </div><!-- entry --> までが記事のループですが
...中略...と書かれた部分は、実際には長いです。

最後の </div><!-- entry --></BlogEntries> の間にソースを加えます。

ファンブログの場合、PHPなどのサーバーサイドで動くスクリプトは使えませんので
ソースをJavaScriptで書きますが、WordPressなどの場合はサーバーサイド処理が
出来る環境だと思うのでPHPなどに書き直すといいと思います。

ソースコードは下のとおりです。

</div><!-- entry -->
<script type="text/javascript">
<!--
if(typeof affiliate_flag==='undefined'){
	var affiliate_flag=true;
	document.write('広告タグ');
}
// -->
</script>
</BlogEntries>

affiliate_flagという名前は何でもいいですがユニークなものをつけます。

typeof affiliate_flag==='undefined'

affiliate_flagが未定義なら、括弧内を実行します。実行するのは2つの処理になります。

  • 広告タグをdocument.writeで書き出す。
  • affiliate_flagを定義する。

affiliate_flagを定義したことで、2つ目以降の記事下には広告は表示されません。

最初のひとつでなく3つまで広告を出す

Google AdSenseは1ページに3個までしか広告を出せません。
3個以上ソースを書いても、4個目からは表示されません。

Google AdSenseなら、放っておいても表示されないのですが、
そうではなく自分で設定したい場合のソースです。

<script type="text/javascript">
<!--
if(typeof affiliate_flag==='undefined'){
	var affiliate_flag=0;
}

if(affiliate_flag<3){
	document.write('広告タグ');
	affiliate_flag++;
}
// -->
</script>

下のように、affiliate_flagが未定義なら、affiliate_flagをゼロで定義します。

if(typeof affiliate_flag==='undefined'){
	var affiliate_flag=0;
}

affiliate_flagが3未満なら、括弧内を実行します。

if(affiliate_flag<3){
	document.write('広告タグ');
	affiliate_flag++;
}

実行するのは2つの処理になります。

  • 広告タグをdocument.writeで書き出す。
  • affiliate_flagをインクリメント。

これで最初の3個まで広告が表示されます。
affiliate_flag<33を書き換えれば表示個数を変更できます。

ソースコードにアフィリエイトの文字列を記入するときの注意点

別の記事「ランダム表示」に書いていますが、再掲します。

まず、文字列をシングルクォートまたはダブルクォートで括るときは、改行を入れてはいけません。

確かJavaScriptにヒアドキュメントはないと思うんですが、
どうしても改行を入れる必要がある時は\nを使います。

HTMLの中にダブルクォートがたくさん出てくるのでシングルクォートで囲った方が
いいですが、一部のアフィリエイト中にシングルクォートが含まれる物があります。
その場合もエスケープを忘れないようにしないとスクリプトは動きません。

HTMLのソースの中にスラッシュが2個続くURLが含まれています。
http://www.example.com/

コメントアウトと間違われないように、エスケープして\/\/と書いた方が無難です。


内容に関するご指摘、ソースに関する質問は受け付けますが、
ご自分のアフィリエイトが表示されないというトラブルは自分で解決してください。
アフィリエイト(ご自分の収益が目的)のトラブルに関する質問は無視します。

新ブログ「Big Bang」で続きを読む

重複のないランダム表示

前回の「ランダム表示」はとにかくランダムに表示することだけを考えたソースです。

このページの右上の広告のように、ひとつだけ選んで表示する時は、あれで問題ありません。
ただ、そのままだと、この記事下の楽天のように複数表示させたいときには重複する可能性が
あります。

その重複を避けたランダム表示の方法です。

新ブログ「Big Bang」で続きを読む

ランダム表示

このブログのサイドバーの広告は、毎回ランダムに表示が変わります。
自分で作ったんでGoogle AdSenseみたいに内容にマッチするわけじゃないですけど。

理屈としては、

var array=['string1','string2','string3'];

みたいな文字列の配列を作り、添字をランダムに生成してdocument.writeで表示させています。

JavaScriptで添字をランダムに発生させるにはMath.random()で出来るようですが、
ググるとクセがありそうなので、自作しました。

つまりソースはこうなります。

var affiliates=['affiliate1','affiliate2','affiliate3'];
document.write(affiliates[(new Date).getTime()%affiliates.length]);

新ブログ「Big Bang」で続きを読む

JavaScriptで表の並び替え

これは大きい順や小さい順に並び替えるのではなく単純に順番を逆にする方法です。

JavaScriptで、大きい順や小さい順に並び替えたいとき(ソート)には
sort関数を使いますが、今回は触れません。

テーブル(表)の順序を逆にする関数

var swap=function(id){
	var elem=document.getElementById(id);
	if(!elem){return;}

	var tr_elems=elem.getElementsByTagName('tr');
	var min=0,max=tr_elems.length-1;

	while(min<max){
		var td_min=tr_elems[min].getElementsByTagName('td');
		var td_max=tr_elems[max].getElementsByTagName('td');
		var tmp1=td_min[0].innerHTML;
		var tmp2=td_min[1].innerHTML;
		td_min[0].innerHTML=td_max[0].innerHTML;
		td_min[1].innerHTML=td_max[1].innerHTML;
		td_max[0].innerHTML=tmp1;
		td_max[1].innerHTML=tmp2;
		min++;
		max--;
	}
}

新ブログ「Big Bang」で続きを読む