石頭閒語的作者提供了自動增加分享書籤的簡便寫法,我做了小修改使能運用於Xuite上;也換了Digg圖片,以避免版權問題;另外取得文章標題的方法也做了符合Xuite的調整:
function addBookmarklets() {
var u = document.URL;
if (isXuite && !(/\/\d+/.test(u))) {
var oTag = findTag('span','titlename'); // 取回span,第1個Node為 a
u = oTag.childNodes[0].href; // 本篇文章的URL
}
var index = u.indexOf('#'); // 以回應進入時未帶不到資料,因此要trim掉
if (index > 0) {
u = u.substring(0, index);
}
// title: 標題
var t = "";
t = findTag('span','titlename','text');
t = encodeURIComponent(t);
t = t.replace(/: 簡睿隨筆 《科技篇》:Xuite日誌:/,"");
// description: 取出文章內容,最多512個字元
var d = "";
var iMaxLength = 512;
d = findTag('div', 'blogbody','text');
if (d !== null) {
var iStopIndex = d.indexOf("(繼續閱讀)");
d = d.substring(0, iStopIndex > 0? iStopIndex : iMaxLength);
d = d.replace(/"/g,"'"); // 文章內容裡有雙引號時會造成錯誤
}
if (d === null) {
d = "";
}
var sCategory = getArticleCategory(isXuite);
var myYahooImg = document.createElement('img');
with (myYahooImg) {
src = 'http://b.blog.xuite.net/b/3/a/c/11893557/blog_10351/txt/11331240/1.gif';
alt = '[+]My Yahoo!'; border = '0';
}
var myShareImg = document.createElement('img');
with (myShareImg) {
src = 'http://b.blog.xuite.net/b/3/a/c/11893557/blog_10351/txt/11331240/2.gif';
alt = '[+]My Share'; border = '0';
}
/* var hemidemiImg = document.createElement('img');
with (hemidemiImg) {
src = 'http://b.blog.xuite.net/b/3/a/c/11893557/blog_10351/txt/11331240/0.gif';
alt = '[+]HEMIDEMI'; border = '0';
} */
var delicioImg = document.createElement('img');
with (delicioImg) {
src = 'http://blog.roodo.com/emisjerry/5507ca4d.png';
alt = '[+]del.icio.us'; border = '0';
}
var technoratiImg = document.createElement('img');
with(technoratiImg) {
src = 'http://b.blog.xuite.net/b/3/a/c/11893557/blog_10351/txt/11331240/3.gif';
alt = '[+]technorati fave';
border = '0';
}
/*
var furlImg = document.createElement('img');
with (furlImg) {
src = 'http://blog.roodo.com/emisjerry/09034406.png';
alt = '[+]FURL'; border = '0';
}
var _365keyImg = document.createElement('img');
with(_365keyImg) {
src = "http://b.blog.xuite.net/b/3/a/c/11893557/blog_10351/txt/10834132/17.gif";
alt = '[+]365Key 天天網摘';
border = '0';
}
var _funpImg = document.createElement('img');
with(_funpImg) {
src = "http://funp.com/images/tools/funpLogo80x15b.gif";
alt = '[+]funP 推推王';
border = '0';
}
*/
var _udnImg = document.createElement('img');
with(_udnImg) {
src = "http://b.blog.xuite.net/b/3/a/c/11893557/blog_10351/txt/12319909/0.gif";
alt = '[+]UDN 共享書籤';
border = '0';
}
http://b.blog.xuite.net/b/3/a/c/11893557/blog_10351/txt/10834132/17.gif
var allImg = document.createElement('img');
with(allImg) {
src = 'http://b.blog.xuite.net/b/3/a/c/11893557/blog_10351/txt/10406834/2.gif';
alt = '[+]HemiDemi+Yahoo!+MyShare bookmarks';
border = '0';
}
var bookmarklets=[
/*[ hemidemiImg,
false,
'http://www.hemidemi.com/user_bookmark/new?via=sticker&url='+u+
'&title='+t+'&tag_string='+sCategory+'&description='+d,
'HEMiDEMi黑米書籤'
],
[ _funpImg,
false,
'http://funp.com/pages/submit/?popup&url='+u+'&t='+d+'&tags[]='+sCategory,
'funP推推王'
],*/
[ _udnImg,
false,
'http://bookmark.udn.com/add?f_URL='+u+'&f_TITLE='+t+'&f_TAG='+sCategory+'&f_DIGEST='+d,
'UDN共享書籤'
],
[ myYahooImg,
false,
'http://tw.myweb2.search.yahoo.com/myresults/bookmarklet?ei=UTF-8&u='+u+'&tag='+sCategory+'&t='+t+'&d='+d,
'雅虎分享書籤'
],
[ myShareImg, // 4000會造成MyShare錯誤
false,
'http://myshare.url.com.tw/index.php?func=newurl'+
'&NewsMaster=1&url='+u+'&tag='+sCategory+'&desc='+t+'&contents='+d.substring(0,500),
'MyShare網路書籤'
],
[ delicioImg,
false,
'http://del.icio.us/post?url='+u+'&tags='+encodeURIComponent(sCategory)+
'&title='+t+'¬es='+d,
'del.icio.us美味書籤'
],
[ technoratiImg,
false,
'http://technorati.com/faves?sub='+t+'&add='+u,
'Technotati bookmark'
]
/* [ _365keyImg,
false,
'http://www.365key.com/storeit.aspx?t='+t+'&u='+u+'&c='+d,
'365Key 天天網摘'
],*/
/* [ furlImg,
false,
'http://furl.net/storeIt.jsp?&u='+u+'&t='+t,
'FURL bookmark'
],
[ allImg,
false,
'***',
'HEMiDEMi+Yahoo!+MyShare bookmark'
] */
];
var posted = null;
if (isXuite || isRoodo) {
posted = findTag('div','posted');
}
posted.insertBefore(document.createElement('br'), posted.firstChild);
//var frame = document.getElementById("frameHemi");
//posted.insertBefore(frame, posted.firstChild);
for (var i = bookmarklets.length - 1, a; i >= 0; --i) {
a = document.createElement('a');
a.target = '_blank';
var bk = bookmarklets[i][2];
//console.log(i + "=" + bk);
if (bk=='***') { // for HemiDemi+Yahoo!+MyShare
a.href = 'javascript:window.open("' + bookmarklets[0][2]+'"); '+
'window.open("' + bookmarklets[1][2]+'"); ' +
'window.open("' + bookmarklets[2][2]+'");';
//console.log(a.href);
} else {
a.href = bk;
}
a.title = bookmarklets[i][3];
a.appendChild(bookmarklets[i][0]);
if (bookmarklets[i][1]) {
a.appendChild(document.createTextNode(bookmarklets[i][1]));
}
posted.insertBefore(document.createTextNode(' '), posted.firstChild);
posted.insertBefore(a, posted.firstChild);
}
var iframe = createHemiButton(posted); // 建立frameHemo element
posted.insertBefore(iframe, posted.firstChild);
posted.insertBefore(document.createTextNode(' '), posted.childNodes[1]);
//posted.insertBefore(document.createTextNode(' '), posted.firstChild);
} //~addBookmarklets
##
您可能也會有興趣的類似文章
- 把文章的分類當做HEMiDEMi的標籤:Xuite自動書籤按鈕 V1.3 (2則留言, 2007/02/27)
- Xuite自動書籤按鈕 V1.1 (0則留言, 2007/02/13)
- 自動填Google搜尋的輸入字串:Xuite自動書籤按鈕 V1.4 (9則留言, 2007/03/13)
- [Blog] Furl與del.icio.us的快速按鈕 (0則留言, 2005/03/05)
- 變更文章底端的【黑米共享書籤】推文/貼文按鈕 (2則留言, 2007/06/03)
- 增加推推王的摘錄推文按鈕 (7則留言, 2007/05/20)
- [Blog] FireFox用來整合del.icio.us的擴充套件 (0則留言, 2005/03/05)
- 「網頁載入中,請稍候...」的簡單作法 (17則留言, 2007/05/02)
- [Blog] 加入Furl與del.icio.us的連結 (0則留言, 2005/03/04)
- 書籤小貼紙工具:Ultra Network轉址系統 (1則留言, 2007/02/16)
- [Blog] 在文章底部隨機顯示相關文章的功能說明 (6則留言, 2007/04/26)
- 常見的收錄書籤網址寫法之彙總表格 V1.1 (2則留言, 2007/04/01)
- 快速增加社交書籤的網頁工具:AddThis.com (0則留言, 2007/02/11)
- 在Xuite測試 jQuery (0則留言, 2007/09/12)
- 用樣式控制Google AdSense廣告顯示的位置 (13則留言, 2007/05/03)















我看到了。
但在 Xuite 中,第18行的
if (ds[i].className == ‘main’)
似乎要改成
if (ds[i].className == ‘blogbody’)
才能正確地幫你抓出要傳給書籤系統的說明文字。
這則留言是悄悄話。
謝謝站長大大的教學文章,不好意思我想請問一下,有沒有將udn書籤按鈕加到 google blog 範本裡的教學呢?
按鈕的樣式,就如我的blog http://weboss001.blogspot.com/ 哪樣
(部落格中punp和黑米的按鈕 我已經加到google blog 範本裡了,但udn書籤按鈕 我是在每篇文章中加上去的 ) 謝謝站長
檢視UDN部落格的文章複製其程式碼再測試。