2008年6月3日 星期二

天空部落格加入推推王貼紙

首先, 我是先以下參考這兩篇文章,
[分享] 讓每篇文章自動加入 Google AdSense (適用於 Pixnet / 無名付費會員 / 天空 / 樂多 / 新浪)
[分享] 讓每篇文章都自動加入黑米跟推推王的收推文按鈕

不過我按照步驟裝完時, 發現推推王的貼紙是在文章的下方, 且, 不知何故, 在 Firefox 中看不見貼紙, 大概是 Firefox 擋廣告的功能有擋掉, 或我自己設定有問題, 由於我實在不想動到 Browser 的設定, 所以我稍微亂改了一下, 讓funP推推王貼紙出現在文章開頭的右邊, 且 Firefox 也能正常顯示.
若以 Yam blog 為例的話, 先去上面兩篇文章的作者網站下載 Javascript 檔(http://nelson.csie.us/OtherBlog/addGoogleAd_yam.js), 下載後, 請將原本的


/* .... 恕刪 ..... */
if (document.addEventListener)
document.addEventListener('load', init, false);

/* .... 恕刪 ..... */
if (x.indexOf("articleLink") == 0)
{
DIVs[i].innerHTML =
document.getElementById("divAdSenseContentScript").innerHTML + DIVs[i].innerHTML;
break;
}


改為


/* .... 恕刪 ..... */
if (document.addEventListener)
window.addEventListener('load', init, false);

/* .... 恕刪 ..... */
if (x.indexOf("articleBody") == 0)
{
DIVs[i].innerHTML =
document.getElementById("divAdSenseContentScript").innerHTML + DIVs[i].innerHTML;
break;
}


改過的檔案可以考慮放在 Google Page Creator 或其它您自己的網路空間.

程式的原理是, 會先判別您是否在 blog 的文章模式,
若是, 則會在網頁內的 <div id="articBlock"...> 找尋 <div class="articleLink">處加入貼紙的代碼,
由於我的 articleLink 處是在文章的最下方, 若我欲將貼紙放到文張開頭的右端,
則我得先找到文章開頭附近有什麼樣的 div block 可讓我用.

我找到了 <div class="articleBody">, 於是程式修改為找到 articleBody 時插入貼紙代碼.

我不確定是否每一個您用的樣板都可以使用, 但依照這樣的概念去推應該都大同小異.

再來就是要在網站內加入小貼紙的代碼了,
先進入「管理首頁」=>「個人資料」,
會看到有一個區塊是「部落格描述」, 接著修改一下原作者文章中提到的,
放入「部落格描述」中,





請修改 http://nelson.csie.us/Pixnet/addGoogleAd_pixnet.js 成為您自己放 .js 的網路位置,
如: http://<Username>.googlepages.com/addGoogleAd_yam.js

於上面「小貼紙程式碼」放入您小貼紙的程式代碼, 請至 funP推文按鈕貼紙.

完成的樣式可參考 http://blog.yam.com/ghill

參考資料:
[分享] 讓每篇文章自動加入 Google AdSense (適用於 Pixnet / 無名付費會員 / 天空 / 樂多 / 新浪)
[分享] 讓每篇文章都自動加入黑米跟推推王的收推文按鈕
funP推文按鈕貼紙
一介平民

14 則留言:

匿名 提到...

請問一下貼紙問題,我在你的天空沒有看到範例(沒有顯示),我試了很久,照你的方法也看不見,是否有什麼技巧呢?

平凡小人物 提到...

您好:

在我的天空沒有出現, 是因為我把它關掉了.

如果可以, 請問您的 blog 位址是哪?
您這樣講我無法判斷出問題.

匿名 提到...

我發現我的CSS中沒有"articleBody",可能是這個原因吧,不過怎麼判斷我要用哪一個tag呢?

我的網址:http://blog.yam.com/sexyanita/article/16708420
我的CSS:http://sites.google.com/site/sexy7878/pub/anita_css.txt

我的測試網頁中還沒將修改的js檔放上去了,謝謝你

匿名 提到...

忘了說一件事,是不是我貼紙的語法用錯了呢?

Grantce 提到...

要判斷您文章開頭是用哪個 tag, 可以直接看 html code.

我在文章中提到, 我並不確定每個 yam 的 template 是否都有 articleBody, 是我自己用的 template 的文章開頭是被 articleBody所包覆, 所以 js 程式才會找 articleBody 並插入貼紙的程式.

您的文章內容開頭似乎是
<div class="post_content">
或許您將 js 裡的 articleBody 改成 post_content 就可以 work了.

此外, 我所參考的 js 檔是
http://www.csie.nctu.edu.tw/~chtai/OtherBlog/addGoogleAd_yam.js

與在您網誌中看到的有所不同,
http://nelson.csie.us/Pixnet/addGoogleAd_pixnet.js

請您務必再確認一下.

匿名 提到...

謝謝你的回覆,我有用http://www.csie.nctu.edu.tw/~chtai/OtherBlog/addGoogleAd_yam.js來修改,並改成post_content,不過結果還是一樣不行,請問我的從funp得到的貼紙語法有放對位置嗎?

Grantce 提到...

這是我貼紙的用法..您可以參考一下..
<div style="FONT-SIZE: 0px; FLOAT: right; MARGIN-LEFT: 10px">
<script language="JavaScript" src="http://funp.com/tools/button.php?&s=9" type="text/javascript"></script>
</div>

或是確認一下您的 browser 有沒有 support javascript

匿名 提到...

謝謝你的回應,不過還是不行...請問若是你現在把你天空的開起來,可以正常顯示嗎?

Grantce 提到...

您好: 打開後我的是可以看見小貼紙的.

我剛去觀看您的blog, 我有在文章旁發現小貼紙出現, 看樣子您應該是成功了.

若是還看不見, 可能是 browser 設定, 或是清掉 cache 再試看看.

匿名 提到...

耶...真的耶!我用IE看不見,要用FF才行,怪了....我連自己怎麼用的都不知道呢?呵....先謝謝你喔

匿名 提到...

不好意思,又來打擾了,我發現IE不能看的原因是它說CONTENT is undefined..我的css中有articleBlock,難道是IE捉不到嗎?還是?....

var CONTENT = document.getElementById("articleBlock");
var DIVs = CONTENT.getElementsByTagName('div');

Grantce 提到...

sorry, 我現在已經看不見您的小貼紙了, 請問你是否有再更動過?

匿名 提到...

sorry...please test it again

平凡小人物 提到...

目前無法確定原因, 因為我沒有看見 IE 的錯誤訊息.
看起來像是 IE 沒有讀到 .js 檔,
或是您的 html 中有些 tag 沒有前後對應好 ?

可以再 check 一次您 yam 天空後台的"部落格描述" 裡的 html 碼看看.

若依然有問題, 可將上述 html code 寄到我的 mail, ghill.tw@gmail.com