dポイントプレゼントキャンペーン実施中!

ブログを運営しています。
記事と記事の間に広告のコンテンツを入れたいのですが、単純に記事と記事の間に広告の「スクリプト」を張るという方法は、そのブログの特性により出来なくなっています。複数ある記事の一番上、または、記事の一番下にしか広告を貼れないのです。

その記事と記事の間に広告のタグをなんとかして貼付けたいですが、何か良いアイディアはないでしょうか?

そこで考えたのですが、まず広告のスクリプトを普通に記事の一番下にはり、それをあらかじめ用意しておいた「記号A」に代入し、後からその「記号A」を読み込み、それをスクリプト以外のタグで記事と記事の間に張る、・・というものですが、この方法は可能でしょうか?(html初心者なので意味不明な事を言ってるかもしれません、ごめんなさい。)

よろしくお願いいたします。

A 回答 (3件)

貼り付けるコンテンツがGoogle Adsenseの広告ということであれば、JavaScriptを用いれば貼り付けることが可能です。

(ほかの広告でもおそらく可能でしょう)

ただし、貼り付けるのは記事の内部(記事本文の一番下など)となり、完全に記事と記事の間に表示することはできません。
また、JavaScriptが無効な環境では表示されません。

まず、ページ一番下のページ要素には、「HTMLを編集」モードで以下の内容を書きます。

<div id="ad">
ここに広告を貼り付ける
</div>
<script type="text/javascript"><!--
// 以下のJavaScriptで、記事中の<span id="ad###"></span>の部分を
// すべて上記の広告に置き換えます。
oElements = document.getElementsByTagName("span");
for (i = 0; i < oElements.length; i++){
id = oElements[i].id;
if(id.match(/^ad\d+$/i)){
oElements[i].innerHTML = document.getElementById("ad").innerHTML;
}
}
//--></script>

そして記事の投稿時には、必要な記事を入力した後、「HTMLを編集」に切り替えてから、広告を挿入したい場所に
<span id="ad###"></span>
のように書きます。
(###には適当な数字の列を入れて下さい。ただし重複した数字がページ中に存在してはいけないため、例えば「20070601」のように投稿した日付などを用いることをお勧めします。)

こうすることで、一番下に広告を表示し、さらに各記事の本文の一番下にも広告を表示できます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
これはかなり凄いですね。各記事の下に広告を表示できるようになりました。

しかし、Google Adsenseの規定で1ページに表示される広告の数は3つまでと決まっているので、その規定をオーバーすることになってしまいました。(1ページに記事が3つ以上ある為です。)そこで広告の表示位置を記事の下ではなく日付の下に指定し、また1ページに表示される記事の量を2日分としたことによってその問題は解決したのですが、記事をカテゴリ(ラベルと呼ばれるもの)毎にアーカイブ化して表示させると、今までそのカテゴリに投稿した記事がすべて表示されてしまい、広告も、そこに表示された記事の投稿日数分が表示されてしまいます。分りづらくてすみません。

例えば広告の数をカウントするスクリプト(実際にあるのか分りませんが)で広告の表示をカウントし、3つに達したらdisplay:noneなどのコードを使い、それ以上広告を表示させない、といったちょっと力技な方法はあるのでしょうか?要は、広告を3つまで表示させたいです。
今回の質問である「コンテンツの移動方法について」は解決しているので少ししたら質問を閉め切ろうと思いますが、もしお時間がありましたら教えていただきたいです。

お礼日時:2007/06/05 14:30

実際には試していませんが、これでいけるかと思います。



<div id="ad">
ここに広告を貼り付ける
</div>
<script type="text/javascript"><!--
// 以下のJavaScriptで、記事中の<span id="ad###"></span>の部分を
// すべて上記の広告に置き換えます。
oElements = document.getElementsByTagName("span");

pasted = 0; // この変数で、貼り付けた数を数える

for (i = 0; i < oElements.length; i++){
id = oElements[i].id;
if(id.match(/^ad\d+$/i)){
oElements[i].innerHTML = document.getElementById("ad").innerHTML;
pasted++;
if(pasted >= 2) break; // 貼り付けた数が2個を超えたら(全体の数が3個を超えたら)終了
}
}
//--></script>
    • good
    • 0
この回答へのお礼

度々ありがとうございます。Javascript勉強してみようかと思いました。凄すぎです。

これなら、当初の予定通り記事の下に広告を表示し、かつ3個以下に管理出来るようになりました。

この度は、誠にありがとうございました。

お礼日時:2007/06/06 15:32

あなたがどのブログサービスを利用してブログを運営しているのか分からないので、何ともお答えできません。



もし、あなたのブログが他者の提供するサービスを使っているのであれば、そもそもスクリプトを挿入しようとしてもそれが無効化されるので、不可能だと思います。

もしあなたが、Webスペースを(無料でも有料でも)レンタルしていて、そこにブログCGIを設けているのであれば、そのソースコードをいじる方法が考えられます。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
すみません説明不足でした。

ブログサービスは、googleのblogspotを利用しています。

>そもそもスクリプトを挿入しようとしてもそれが無効化される
はい、普通にスクリプトのタグをhtml構文中に挿入するとエラーになってしまうのですが、blogspotの独特のシステムである「ページ要素」として挿入するとスクリプトは使用可能です。ですが、ページ要素は、挿入出来る位置が決まっております。「投稿記事」自体もページ要素なのですが、その内部に、ページ要素として広告のスクリプトを何とか入れることはできないかと考えまして・・。
ストレートにページ要素の中にページ要素を入れようとするとエラーになってしまうので、上記のような方法を考えた次第です。
blogspot自体はphp仕様ではないのですが、phpを使わないとやはり無理でしょうか?

お礼日時:2007/06/04 05:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!