(ホームなどにもコメント欄を表示)
★ 問題点
① 同期型で、記事を読んでいるので、ページ表示に時間がかかります。
1ページ1記事で設定しているブログであれば、表示時間は問題ないと
思いますが、1ページ当たりの記事が、3件、5件、10件の場合は
ページ表示に時間がかかる場合があります。
② ajax を使って、記事のページの読み込みを行っているので、
アクセス解析のPV(ページビュー)が増えてしまう可能性があるので注意すること。
対策しました。下記箇所(注意:スマートフォーンの場合は、ポップアップしない)
if ((typeof blogCommentType == "undefined") || (blogCommentType != "SMARTPHONE")){window.blogCommentType = "PC";}
★ 注意
① アメンバー限定記事には、コメント欄は表示されません。
● フリープラグインへ追記(①を利用してください)
① フリープラグイン文字数制限対応
<script type='text/javascript' src='http://stat100.ameba.jp/blog/js/apm001.js'></script>
<script type="text/javascript" src="http://usrcss.ameblo.jp/skin/templates/6d/7d/10030757386.css"></script>
<script type='text/javascript'>
comment_home_disp();
</script>
<script type="text/javascript" src="http://usrcss.ameblo.jp/skin/templates/6d/7d/10030757386.css"></script>
<script type='text/javascript'>
comment_home_disp();
</script>
● 説明
・ 下記はフリープラグインの先頭に1つあればOKです。
<script type='text/javascript' src='http://stat100.ameba.jp/blog/js/apm001.js'></script>
・ 下記はフリープラグインに既に記述があれば不要です
<script type="text/javascript" src="http://usrcss.ameblo.jp/skin/templates/6d/7d/10030757386.css"></script>
② フリープラグイン文字数制限非対応
<script type='text/javascript' src='http://stat100.ameba.jp/blog/js/apm001.js'></script>
<script type='text/javascript'>
$(document).ready(function(){
var entry_url = new RegExp(/http\:\/\/ameblo\.jp\/(.*?)\/entry\-(\d+)\.html.*/);
var comment_count=$(".commentArea").length;
if(comment_count==0){
var Art_count=$(".skinArticleHeader").length;
for(i = 0; i < Art_count; i++){
var Art_url=$(".skinArticleHeader a:eq("+i+")").attr('href');
if (Art_url.match(entry_url)) {
var Art_data=$.ajax({url: Art_url, async: false}).responseText;
var Comment_data=$(".commentArea", Art_data);
$(".skinArticleFooter:eq("+i+")").after(Comment_data);
if ((typeof blogCommentType == "undefined") || (blogCommentType != "SMARTPHONE")){window.blogCommentType = "PC";}
}}}
});
</script>
<script type='text/javascript'>
$(document).ready(function(){
var entry_url = new RegExp(/http\:\/\/ameblo\.jp\/(.*?)\/entry\-(\d+)\.html.*/);
var comment_count=$(".commentArea").length;
if(comment_count==0){
var Art_count=$(".skinArticleHeader").length;
for(i = 0; i < Art_count; i++){
var Art_url=$(".skinArticleHeader a:eq("+i+")").attr('href');
if (Art_url.match(entry_url)) {
var Art_data=$.ajax({url: Art_url, async: false}).responseText;
var Comment_data=$(".commentArea", Art_data);
$(".skinArticleFooter:eq("+i+")").after(Comment_data);
if ((typeof blogCommentType == "undefined") || (blogCommentType != "SMARTPHONE")){window.blogCommentType = "PC";}
}}}
});
</script>
● スクリプトの説明
entry_url ・・・ 記事のURLの形式(アメンバー限定記事は含まない)
if(comment_count==0){ ・・・ コメントが表示されていない、ホームなどのページの
ときのみ、コメント欄を表示する
var Art_data=$.ajax({url: Art_url, async: false}).responseText; ・・・・ 該当記事の
HTMLを得る
var Comment_data=$(".commentArea", Art_data); ・・・ 得たHTMLから
コメント欄を抜き出す
$(".skinArticleFooter:eq("+i+")").after(Comment_data); ・・・・ 記事フッター部の後に
コメント欄を追加する。
for(i = 0; i < Art_count; i++){ ・・・ 表示されている記事分、繰り返します。
if ((typeof blogCommentType == "undefined") || (blogCommentType != "SMARTPHONE")){window.blogCommentType = "PC";}
PCかスマートフォーン(SMARTPHONE)か、コメントが表示されていないページ(undefined)かを
判定して、コメントが表示されていないページ(undefined)であれば、PCをコメントタイプに
設定して、コメントがポップアップするように設定します。