Chèn biểu tượng cảm xúc vào nhận xét dạng input

Người đăng: chaobuoisang on Thứ Bảy, 17 tháng 9, 2011

Chắc hẳn bạn cũng biết rằng hệ thống nhận xét của Blogspot có phần khung viết nhận xét (Comments Form and Editor) dưới dạng nhúng từ bên ngoài qua thẻ iframe do đó chúng ta không thể chèn biểu tượng cảm xúc (Emoticons) vào nhận xét bằng phương pháp input như Wordpress. Để giải quyết vấn đề này, chỉ có một cách là tạo khung nhận xét riêng theo kiểu Wordpress cho Blogspot. Tuy nhiên tạm thời mình chưa tìm ra giải pháp vì thế có thể áp dụng một thủ thuật trung gian, tức là tạo tính năng chèn biểu tượng cảm xúc trực tiếp vào một vùng text (textarea) kết hợp nút chọn để người dùng copy mã nhập rồi dán vào khung viết nhận xét, ngoài ra còn có chức năng chèn các thẻ như <b>, <i>, <em>, <a>. Hy vọng đây sẽ là bàn đạp để chúng ta tiến thêm một bước trong công cuộc hiện đại hóa hệ thống nhận xét của Blogspot.

Bạn có thể xem Demo ở phần viết bình luận của Thủ thuật Blogger.


Thủ thuật này đã kết hợp thủ thuật tạo bộ biểu tượng cảm xúc cho nhận xét vì thế nếu áp dụng thủ thuật này thì bạn cần tháo thủ thuật cũ liên quan (nếu đã cài đặt rồi) và thực hiện theo các bước sau đây:

Bước 1. Đăng nhập Blogger, vào Design >> Edit HTML, chọn Expand Widget Templates. Đặt đoạn code sau đây vào trước thẻ </body>. Đây là script chức năng cho bộ biểu tượng cảm xúc hoạt động.

<b:if cond='data:blog.pageType == "item"'>
<script type='text/javascript'>
//<![CDATA[
//Emoticons for Blogger Comments || Author: Huynh Nhat Ha || http://www.thuthuatblogger.info || © Copyright 2010
function emoticonBloggerHuynhNhatHa() {

if(!document.getElementById) {return;} // no support

bodyText = document.getElementById('comments-block');

theText = bodyText.innerHTML;
theText = theText.replace(/:1\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht9MEZyK7_UoHewUVFF9WbtsTVaELsFivc6DesMHF_oIg-_zb18LRKjsNud7iI7hqc-rI-bqHBXOD_1l6RAT1AzWv_o1OCEIk5xXyG-hyABVftmKQHTxTrDlmcRGkLrR5OL1_TF6RZJuC7/s1600/49.gif" />');
theText = theText.replace(/:2\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRjYyBltKoTfERb658MdlzB6a7D9Mr7HN8RnwXTBGX8hLjEUoXETMoXIv276iQuwBCZT_nBVvyPW2ujU7LNhA8ojPQiI7TwV8aQssBgeYKYu1ey4TqSRB99yxvaEEkINzwXihtwlaJZnaJ/s1600/102.gif" />');
theText = theText.replace(/:3\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRmn6a9c1PKOGikNPcRWPsHgIO-hgLo3XEwcX3VzWArTlf6BeZiCEhLtvvCtnSkXb1aQIvjltIwrHctqygr-rgb95TCOKtqOzQMxfr04KuYJrwIFh9lJAp5AKmaQ3LBv54AkHEXx3alnp9/s1600/113.gif" />');
theText = theText.replace(/:4\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsJQTnpV_ImOAuc5vA-F-8BZHWCQbByHaka2CQk7T_Me_hHi3THjRZWr1VwXg2ngy3P8BWFZMVv4qV_478EHh2IKCOyPdVfaS_lA2zkWgS9vqV7a0dNvlkYOTJcUOP-d3rwrNyJl068z5N/s1600/93.gif" />');
theText = theText.replace(/:5\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKiTlLJVvrc0PTxXh911N4JD0c-3IY7FGxFIhE6TbjlH_1h2iL9LE50wR2xO6BNMT2KEpT-PG2EUMInCIKqsk2Fz2SFVWp3gP_BGHSkJINr3xnleMrywDa8aWMtM6-snexJ3E1MJqehljZ/s1600/61.gif" />');
theText = theText.replace(/:6\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjst4TueE21tv_d-LEbZdM4OxFVg_cO3b9EYW4xS4hiLSAdjB2I6oFfp6AiC5_yoLYABouaFgI-k5AkfuWBDAWd9L4CDYukvdjf0Fhut1_a3fTkDs9OoWJ1oLpaT-hO1reYUOi9pAQSMm6g/s1600/134.gif" />');
theText = theText.replace(/:7\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYkS4TyTCOPxTt9tugkcphfptW1VhTGV4zH9w4l9zUR-FEUaP9BvXLnVQE4UuTpOOMN6CkujcNkPOcb9jVENl39yRDd3DP0TlVnVxcxWynfx0p68K-ynmreki0pUiExEN9G2WLO99xkFup/s1600/39.gif" />');
theText = theText.replace(/:8\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb1rPSmr69kTLJW5It747QCWtSTqV8NDBHMxBSpeeDxq5n8CMhsQPDf7QNLySAuArfkOMhhBzdOfETf27w4ESXFPpGv-rJXQIUrSvqDHR02jemt1glxp5hcEu5EjU_mu8r2uw4czFzhEPq/s1600/106.gif" />');
theText = theText.replace(/:9\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk4Vym336F0_WNKUdhOwhSM7UZ1Hp_BYGM27A1NKxEq2TNEKmHzUxF_dYLdj6EQNaFg77ssrc6iWtzkjYb0kgouVJEkCce_pVCnN9siKsry03KTxieB2PeRimvbzsyP9GjYN1R-ZbkPf2M/s1600/43.gif" />');
theText = theText.replace(/:A\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL5-Z7kwODiQSnVv7WJwxHTAmo0B-Y6gK3ejNbOj6KXMilp-N300HFtmQlXRNermHogBs5fkOG5wrklFgMAGqN2bmZ2v6V1UTiwbL13gAji3PKplBuZnzji2-gIgn-S-sIfPpzl0dxkc7f/s1600/111.gif" />');
theText = theText.replace(/:B\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtL0vv0T1TFoMJ-X12sDvOIaFZarQtcK3StNINZbrZdZmJ-ZhSQ6DafqjgXc-DJy1MF8wK8x3IYOWTba8O1H3QxOHjC5KobucNXFPDiHAf4O5Q1PXgokLPMRr2CXKcIH6aaZ_FLdV3Jgg7/s1600/48.gif" />');
theText = theText.replace(/:C\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtvhGOaoEpZicPIwL2AxATpvzE8peP8s8ujU3yhx4KAJFUbcau2zE8unYCPYrEJkszBOc3NbrE6bYI01EbBz-9xtmee-tkFnjwzUs76QxDE_FAUeUNLbNMvOXUrXM5IrN29pYytayUVXeT/s1600/54.gif" />');
theText = theText.replace(/:D\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWHQaakRtG8_SqN9nXeQqtKvqMnEwNn8l_iVCdIHRLR_geCfUzZRGINBEBvY3syS-upDhlzSYtgK6rvKsEROSDfJqk4OuE6uRVgHe1zpyNVrlnckobAxiXZCb8K6xEg4xsKupKpz8C7qdo/s1600/63.gif" />');
theText = theText.replace(/:E\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWoW4n8k4TxvQcs-1c2r3iEMeiLFd6mOxkcFR8NBFJUwJMti26sLhzDRlrGX-Y5_QoiCOgV16khUUCiHNhOmRfPlpqt813_K1JD5SoKhrVxdqBTaVdp-FDvbwmeQaMuQOYqwjXkGyuc3em/s1600/100.gif" />');
theText = theText.replace(/:F\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoMgS8lQHgjrj1savrVEz7XFaPZYO56amesmo4POoRy_SuUCW891yHff85Z7uRBi1d1J7LRboEWVklQRbTpiwVgxRjcyCU2vprxcdHY_siJMsX003gwvZcMko1AZNgMz5p4EsVL6X3zcMv/s1600/45.gif" />');
theText = theText.replace(/:G\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXkcwYgQ3X2PZGAgQlv5SAyOlPpmimvhdVeEapsjADxj1WdoJ6afZ2qs2itlXSRBX-7bL8sOebtY-OefcaL5BDYjk2x2Ibu1YpjMypDUemeH7v7Rx2hs6Oqbby8Z9q7pAruJEQcF9ldflu/s1600/77.gif" />');
theText = theText.replace(/:H\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjJn8CRSpMJmVmCOTRzF5_rsysfKdW0PG7T4UunKxuJ8Qcqx9v3l3EuaSm3cHos4mL9ug9iDD0z6ypUQIdPTrFS2VRtBtk6__OssslwMFapIA4Tc1E8VtTtFA7ifsJuFPsHyBkox0VYzK2/s1600/86.gif" />');
theText = theText.replace(/:I\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIgpAWyM14WU91iyNSlzBJvIoKMk7D6lxXChedU0PynAl4fx3czwxAI6ek9Pv4LYczP6LW2A3svAiVnUtpfmY-pce8IjVOCY7K7XFJCiodvC-UKO6wFKY-BRe_t7M2QdeCz5VqNQIXgRpb/s1600/94.gif" />');
theText = theText.replace(/:J\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4rPoIozFck4zCv7H23z7ZKVrBI6gBbS8DsRv4zZfFYw5y2edBE_px65g-TJ4qoAywgiI5ORaMdYh3VbAx8GL3BGkAvI7uFEUHTQSOz6RdmfgYeBVL8p4vDQ1f6RjV6lQwuv39pHltCzRY/s1600/83.gif" />');
theText = theText.replace(/:K\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheBFCx6eoxJQkxPMXe7ZAOdjrZNpE98O7gNpLMVsACNtn4eP6aj1uxnJeyydmiBP8_d3xXGWoCHSlA5Bf53mnh_5krLejUHfF1fP8Orv1sQslT279ENPPishtnNFzsBQ7UZGoEbhkZzC4s/s1600/59.gif" />');
theText = theText.replace(/:L\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgc3QKenOOSX6pgh0DlESXsIRf3TZTD-guvJEoZpBZnB1AplrkBq34yUzKCKtkFmdDUr2HEX4AzuQVZzVlHq4n32xQcHYw1ubDEjFucki2oXzHj0idBJ9irPo66f4TTpVFPbg6Ho1_Peak/s1600/soldierbaby.gif" />');
theText = theText.replace(/:M\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVWAkqbDdOKlhfKeeoVhHcGKJChjC7rFx04jWaqgOpUol3NZt4vdeEVSHLJ7US4bb3OFf_CWYJ7BR5-4YgpashwYeBmQo4SpJtRS-kWm1Lk5UKoQXXEoWKnAh2BgQ2aARd8aERWRZpY_1w/s1600/alo.gif" />');
theText = theText.replace(/:N\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifwlERCg6gfkIMyEOXOXGwcT7k95bO2anh3dA-TtBaHJX0YJVtJxA9hmwTW12Dw9q1RU0q5UYRIgnyqDqZBPq1BcDH2rsA43oOr5BIITS7wM6IP2SptUOkFDF3WDOlEzE6njpBRZ2AdIOk/s1600/shutup.gif" />');
theText = theText.replace(/:O\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3AxXDnODb8-JA_E1IwL94AD2E2OBlY6jGQPrylk4qKvgmxQlnHOJevAw8aJLavlPlNDu8C3Ywida5VdZeiP4PaMkkB0m8thNkzY5VxXv1JUvs2xeh3jh4yFbIGF0E4VrgTDijogyIb1WL/s1600/yeulam.gif" />');
theText = theText.replace(/:P\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPgLPh1Syk5yqQ21cKJQEyOeT7JanFrx_7cSEanc8Fue3R4hhwTqYlmaaXndg4WrBMNjcbeNZ3tcwCcpqO-XzVvq1e1l-8R3uJsNtdgYMVE4SrU1QVGrOYiC4r_D8lpm1AhJxQ1phs10_O/s1600/datbomb.gif" />');

bodyText.innerHTML = theText;}
//]]>
</script>
<script type='text/javascript'>
emoticonBloggerHuynhNhatHa();
</script>
</b:if>

Cần chú ý để chức năng biểu tượng cảm xúc hoạt động trong phần nhận xét thì bạn phải thay đổi ID comments-block cho phù hợp. ID này nằm trong một thẻ chỉ định thành phần chứa các dữ liệu của nhận xét, thẻ này thường nằm ngay trước dòng <b:loop values='data:post.comments' var='comment'>. Tùy theo cách đặt tên của người thiết kế Template mà id này có thể có tên khác nhau ví dụ: comments-block, comments-block3, comments_block, cm_block, commentsblock …

Bước 2. Tìm đến đoạn code như bên dưới. Đoạn code này biểu thị phần khung viết nhận xét.

<data:blogTeamBlogMessage/>
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/>

Đặt trước đoạn code trên bằng đoạn code bên dưới:

<script type='text/javascript'>
//<![CDATA[
// Script to insert Emoticons and Links on Blogspot Comments V1 by www.thuthuatblogger.info
function comments_URL() {
var r = prompt("Nhập địa chỉ trang", "http://");
var p = prompt("Nhập link text hiển thị", "Text");
if(r != "") ; if(p != ""){
document.getElementById('comments_input').value += "<a href='" + r + "' rel='nofollow'>" + p + "<\/a>";
} else {
alert("Bạn đã nhập xong dữ liệu");
}
}
function comments_HTML() {
document.getElementById('comments_input').value += '<a href=\'http://URL dẫn đến link \'>Trang<\/a>';
}
function comments_B() {
document.getElementById('comments_input').value += '<b><\/b>';
}
function comments_I() {
document.getElementById('comments_input').value += '<i><\/i>';
}
function comments_EM() {
document.getElementById('comments_input').value += '<em><\/em>';
}
function moreSmilies() {
document.getElementById('smiley-more').style.display = 'inline';
document.getElementById('smiley-toggle').innerHTML = '<a href="javascript:lessSmilies()">&laquo;&nbsp;Less</a></span>';
}
function lessSmilies() {
document.getElementById('smiley-more').style.display = 'none';
document.getElementById('smiley-toggle').innerHTML = '<a href="javascript:moreSmilies()">More&nbsp;&raquo;</a>';
}
//]]>
</script>
<style>
#comments_insert {padding:0;margin:0;width:600px;float:left;text-align: center}
#comments_insert img {padding:0;border:none;margin:2px}
.text_style_wrap {margin-top:10px;}
.text_style {border:1px solid #069;padding:3px;background: #d8eaee}
#comments_insert a {text-decoration:none}
#comments_HTML {display: none}
#comments_input {margin-top:10px}
.tooltip{outline:none;cursor:help;text-decoration:none;position:relative}
.tooltip span{margin-left:-999em;position:absolute}
.tooltip:hover span{border-radius:5px 5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:5px 5px 5px rgba(0,0,0,0.1);-webkit-box-shadow:5px 5px rgba(0,0,0,0.1);-moz-box-shadow:5px 5px rgba(0,0,0,0.1);font-family:Calibri,Tahoma,Geneva,sans-serif;position:absolute;left:1em;top:2em;z-index:99;margin-left:0;width:300px}
.tooltip:hover img{border:0;margin:-10px 0 0 -55px;float:left;position:absolute}
.tooltip:hover em{font-family:Candara,Tahoma,Geneva,sans-serif;font-size:1.2em;font-weight:bold;display:block;padding:0.2em 0 0.6em 0}
.help{padding: 0.8em 1em; background: #FFCCAA; border: 1px solid #FF3334;text-align:justify;color:#000}
</style>
<!--[if IE]> <style> #comments_URL {display: none} #comments_HTML {display:inline} </style> <![endif]-->

<div id='comments_insert'>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:1) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht9MEZyK7_UoHewUVFF9WbtsTVaELsFivc6DesMHF_oIg-_zb18LRKjsNud7iI7hqc-rI-bqHBXOD_1l6RAT1AzWv_o1OCEIk5xXyG-hyABVftmKQHTxTrDlmcRGkLrR5OL1_TF6RZJuC7/s1600/49.gif' style='border: 0; padding:0' title='hê hê hê'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:2) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRjYyBltKoTfERb658MdlzB6a7D9Mr7HN8RnwXTBGX8hLjEUoXETMoXIv276iQuwBCZT_nBVvyPW2ujU7LNhA8ojPQiI7TwV8aQssBgeYKYu1ey4TqSRB99yxvaEEkINzwXihtwlaJZnaJ/s1600/102.gif' style='border: 0; padding:0' title='hôn hôn'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:3) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRmn6a9c1PKOGikNPcRWPsHgIO-hgLo3XEwcX3VzWArTlf6BeZiCEhLtvvCtnSkXb1aQIvjltIwrHctqygr-rgb95TCOKtqOzQMxfr04KuYJrwIFh9lJAp5AKmaQ3LBv54AkHEXx3alnp9/s1600/113.gif' style='border: 0; padding:0' title='ua ua ua'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:4) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsJQTnpV_ImOAuc5vA-F-8BZHWCQbByHaka2CQk7T_Me_hHi3THjRZWr1VwXg2ngy3P8BWFZMVv4qV_478EHh2IKCOyPdVfaS_lA2zkWgS9vqV7a0dNvlkYOTJcUOP-d3rwrNyJl068z5N/s1600/93.gif' style='border: 0; padding:0' title='nhìn nè'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:5) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKiTlLJVvrc0PTxXh911N4JD0c-3IY7FGxFIhE6TbjlH_1h2iL9LE50wR2xO6BNMT2KEpT-PG2EUMInCIKqsk2Fz2SFVWp3gP_BGHSkJINr3xnleMrywDa8aWMtM6-snexJ3E1MJqehljZ/s1600/61.gif' style='border: 0; padding:0' title='vỗ tay'/></a>
<span id='smiley-more' style='display: none;'>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:6) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjst4TueE21tv_d-LEbZdM4OxFVg_cO3b9EYW4xS4hiLSAdjB2I6oFfp6AiC5_yoLYABouaFgI-k5AkfuWBDAWd9L4CDYukvdjf0Fhut1_a3fTkDs9OoWJ1oLpaT-hO1reYUOi9pAQSMm6g/s1600/134.gif' style='border: 0; padding:0' title='tát bớp'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:7) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYkS4TyTCOPxTt9tugkcphfptW1VhTGV4zH9w4l9zUR-FEUaP9BvXLnVQE4UuTpOOMN6CkujcNkPOcb9jVENl39yRDd3DP0TlVnVxcxWynfx0p68K-ynmreki0pUiExEN9G2WLO99xkFup/s1600/39.gif' style='border: 0; padding:0' title='rơi lệ'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:8) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb1rPSmr69kTLJW5It747QCWtSTqV8NDBHMxBSpeeDxq5n8CMhsQPDf7QNLySAuArfkOMhhBzdOfETf27w4ESXFPpGv-rJXQIUrSvqDHR02jemt1glxp5hcEu5EjU_mu8r2uw4czFzhEPq/s1600/106.gif' style='border: 0; padding:0' title='money money'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:9) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk4Vym336F0_WNKUdhOwhSM7UZ1Hp_BYGM27A1NKxEq2TNEKmHzUxF_dYLdj6EQNaFg77ssrc6iWtzkjYb0kgouVJEkCce_pVCnN9siKsry03KTxieB2PeRimvbzsyP9GjYN1R-ZbkPf2M/s1600/43.gif' style='border: 0; padding:0' title='lêu lêu'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:A) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL5-Z7kwODiQSnVv7WJwxHTAmo0B-Y6gK3ejNbOj6KXMilp-N300HFtmQlXRNermHogBs5fkOG5wrklFgMAGqN2bmZ2v6V1UTiwbL13gAji3PKplBuZnzji2-gIgn-S-sIfPpzl0dxkc7f/s1600/111.gif' style='border: 0; padding:0' title='lắc đầu'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:B) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtL0vv0T1TFoMJ-X12sDvOIaFZarQtcK3StNINZbrZdZmJ-ZhSQ6DafqjgXc-DJy1MF8wK8x3IYOWTba8O1H3QxOHjC5KobucNXFPDiHAf4O5Q1PXgokLPMRr2CXKcIH6aaZ_FLdV3Jgg7/s1600/48.gif' style='border: 0; padding:0' title='khóc ròng'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:C) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtvhGOaoEpZicPIwL2AxATpvzE8peP8s8ujU3yhx4KAJFUbcau2zE8unYCPYrEJkszBOc3NbrE6bYI01EbBz-9xtmee-tkFnjwzUs76QxDE_FAUeUNLbNMvOXUrXM5IrN29pYytayUVXeT/s1600/54.gif' style='border: 0; padding:0' title='I don’t know'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:D) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWHQaakRtG8_SqN9nXeQqtKvqMnEwNn8l_iVCdIHRLR_geCfUzZRGINBEBvY3syS-upDhlzSYtgK6rvKsEROSDfJqk4OuE6uRVgHe1zpyNVrlnckobAxiXZCb8K6xEg4xsKupKpz8C7qdo/s1600/63.gif' style='border: 0; padding:0' title='hi hi hi'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:E) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWoW4n8k4TxvQcs-1c2r3iEMeiLFd6mOxkcFR8NBFJUwJMti26sLhzDRlrGX-Y5_QoiCOgV16khUUCiHNhOmRfPlpqt813_K1JD5SoKhrVxdqBTaVdp-FDvbwmeQaMuQOYqwjXkGyuc3em/s1600/100.gif' style='border: 0; padding:0' title='đá một phát'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:F) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoMgS8lQHgjrj1savrVEz7XFaPZYO56amesmo4POoRy_SuUCW891yHff85Z7uRBi1d1J7LRboEWVklQRbTpiwVgxRjcyCU2vprxcdHY_siJMsX003gwvZcMko1AZNgMz5p4EsVL6X3zcMv/s1600/45.gif' style='border: 0; padding:0' title='cười lớn giơ răng'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:G) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXkcwYgQ3X2PZGAgQlv5SAyOlPpmimvhdVeEapsjADxj1WdoJ6afZ2qs2itlXSRBX-7bL8sOebtY-OefcaL5BDYjk2x2Ibu1YpjMypDUemeH7v7Rx2hs6Oqbby8Z9q7pAruJEQcF9ldflu/s1600/77.gif' style='border: 0; padding:0' title='cụng ly'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:H) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjJn8CRSpMJmVmCOTRzF5_rsysfKdW0PG7T4UunKxuJ8Qcqx9v3l3EuaSm3cHos4mL9ug9iDD0z6ypUQIdPTrFS2VRtBtk6__OssslwMFapIA4Tc1E8VtTtFA7ifsJuFPsHyBkox0VYzK2/s1600/86.gif' style='border: 0; padding:0' title='chém gió'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:I) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIgpAWyM14WU91iyNSlzBJvIoKMk7D6lxXChedU0PynAl4fx3czwxAI6ek9Pv4LYczP6LW2A3svAiVnUtpfmY-pce8IjVOCY7K7XFJCiodvC-UKO6wFKY-BRe_t7M2QdeCz5VqNQIXgRpb/s1600/94.gif' style='border: 0; padding:0' title='bắt tay'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:J) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4rPoIozFck4zCv7H23z7ZKVrBI6gBbS8DsRv4zZfFYw5y2edBE_px65g-TJ4qoAywgiI5ORaMdYh3VbAx8GL3BGkAvI7uFEUHTQSOz6RdmfgYeBVL8p4vDQ1f6RjV6lQwuv39pHltCzRY/s1600/83.gif' style='border: 0; padding:0' title='ăn ăn ăn'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:K) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheBFCx6eoxJQkxPMXe7ZAOdjrZNpE98O7gNpLMVsACNtn4eP6aj1uxnJeyydmiBP8_d3xXGWoCHSlA5Bf53mnh_5krLejUHfF1fP8Orv1sQslT279ENPPishtnNFzsBQ7UZGoEbhkZzC4s/s1600/59.gif' style='border: 0; padding:0' title='byyeee'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:L) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgc3QKenOOSX6pgh0DlESXsIRf3TZTD-guvJEoZpBZnB1AplrkBq34yUzKCKtkFmdDUr2HEX4AzuQVZzVlHq4n32xQcHYw1ubDEjFucki2oXzHj0idBJ9irPo66f4TTpVFPbg6Ho1_Peak/s1600/soldierbaby.gif' style='border: 0; padding:0' title='nhóc lính'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:M) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVWAkqbDdOKlhfKeeoVhHcGKJChjC7rFx04jWaqgOpUol3NZt4vdeEVSHLJ7US4bb3OFf_CWYJ7BR5-4YgpashwYeBmQo4SpJtRS-kWm1Lk5UKoQXXEoWKnAh2BgQ2aARd8aERWRZpY_1w/s1600/alo.gif' style='border: 0; padding:0' title='Alo'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:N) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifwlERCg6gfkIMyEOXOXGwcT7k95bO2anh3dA-TtBaHJX0YJVtJxA9hmwTW12Dw9q1RU0q5UYRIgnyqDqZBPq1BcDH2rsA43oOr5BIITS7wM6IP2SptUOkFDF3WDOlEzE6njpBRZ2AdIOk/s1600/shutup.gif' style='border: 0; padding:0' title='Shup up'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:O) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3AxXDnODb8-JA_E1IwL94AD2E2OBlY6jGQPrylk4qKvgmxQlnHOJevAw8aJLavlPlNDu8C3Ywida5VdZeiP4PaMkkB0m8thNkzY5VxXv1JUvs2xeh3jh4yFbIGF0E4VrgTDijogyIb1WL/s1600/yeulam.gif' style='border: 0; padding:0' title='Yêu lắm đó'/></a>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).value += &quot;:P) &quot;;'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPgLPh1Syk5yqQ21cKJQEyOeT7JanFrx_7cSEanc8Fue3R4hhwTqYlmaaXndg4WrBMNjcbeNZ3tcwCcpqO-XzVvq1e1l-8R3uJsNtdgYMVE4SrU1QVGrOYiC4r_D8lpm1AhJxQ1phs10_O/s1600/datbomb.gif' style='border: 0; padding:0' title='Đặt bom'/></a>
</span>
<span id='smiley-toggle'><a href='javascript:moreSmilies()'>
More &#8594;</a></span>

<div class='text_style_wrap'>
<a href='javascript: void(0);' onClick='comments_B()'><span class='text_style'><b>Chữ đậm</b></span></a>
<a href='javascript: void(0);' onClick='comments_I()'><span class='text_style'><i>Chữ nghiêng</i></span></a>
<a href='javascript: void(0);' onClick='comments_EM()'><span class='text_style'><em>Chữ nghiêng 2</em></span></a>
<a href='javascript: void(0);' id='comments_HTML' onClick='comments_HTML()'><span class='text_style'>Chèn Link</span></a>
<a href='javascript: void(0);' id='comments_URL' onClick='comments_URL()'><span class='text_style'>Chèn Link</span></a>
<script type='text/javascript'>
function openup_parseHTML() { window.open(&quot;http://ha-escapexml.blogspot.com&quot;, &quot;followblog&quot;, &quot;height=540, width=450, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no&quot; ); }
</script>
<a href='javascript:openup_parseHTML()' rel='nofollow' title='Mã hóa code trước khi đưa vào bình luận'><span class='text_style'>Mã hóa code</span></a>
<a class='tooltip' href='javascript: void(0);'><b style='color:#F00'>Help ?</b><span class='help'>Nhấn vào biểu tượng hoặc kiểu chữ hoặc chèn link sau đó nhấn nút Chọn rồi copy (Ctrl + C) để paste (Ctrl + V) vào khung viết bình luận. Mã hóa code nếu bạn muốn đưa code vào bình luận.</span></a>
</div>
<form name='comments_form'>
<textarea cols='70' id='comments_input' rows='1' style='background: #F8F8FF;margin-bottom:7px'/>
<br/>
<a href='javascript: void(0);' onClick='document.getElementById(&quot;comments_input&quot;).select();'><span class='text_style'>Chọn</span></a>
<a href='javascript: void(0);' onClick='document.comments_form.reset();'><span class='text_style'>Xóa</span></a>
</form>
</div>

Lưu Template. Trên đây mình gắn sẳn 25 biểu tượng cảm xúc, nếu các bạn muốn thêm thì có thể tự nghiên cứu để gắn thêm vào, đảm bảo sự đồng nhất biểu tượng theo thứ tự ở Bước 1 và Bước 2. Những phần được đánh dấu màu đỏ là những phần bạn có thể tùy biến theo ý thích của mình.
More about

Tự động chèn video Youtube chỉ bằng ID vào bài viết

Người đăng: chaobuoisang on Thứ Năm, 15 tháng 9, 2011

Trước đây mình đã từng giới thiệu cách chèn tự động video trên Youtube vào blogspot. Cách này áp dụng cho code embed kiểu cũ. Mà code embed kiểu cũ của Youtube thường có dạng như thế này:

<object width="420" height="315"><param name="movie" value="http://www.youtube.com/v/2WnaQgQwGa4?version=3&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/2WnaQgQwGa4?version=3&amp;hl=en_US" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>

Trong đoạn code trên thì 2WnaQgQwGa4 chính là ID của video. Hiện nay Youtube đã áp dụng code chèn kiểu mới, có dạng như sau:

<iframe width="420" height="315" src="http://www.youtube.com/embed/2WnaQgQwGa4" frameborder="0" allowfullscreen></iframe>

Đối với các blogspot chuyên đăng video clip lấy từ Youtube thì công việc chèn video cần được tự động hóa, giúp người quản trị đỡ phần mệt nhọc. Ngoài cách chèn tự động trước đây mình đã giới thiệu, hôm nay mình giới thiệu tiếp một cách khác. Trước tiên bạn cần đặt một đoạn script tạo chức năng chèn video tự động trước thẻ </head> trong Template.

<script type='text/javascript'>
//<![CDATA[
// Script to insert Youtube video automatically on Blogspot by www.thuthuatblogger.info
function insert_YouTube(IDyoutube) {
var width = 430; // có thể chỉnh chiều rộng khung video
var height = 315; // có thể chỉnh chiều cao khung video
var output = "<div style=\"text-align:center;\">";
output = '<iframe width="'+width+'" height="'+height+'" src="http://www.youtube.com/embed/'+IDyoutube+'?rel=0" frameborder="0" allowfullscreen>'; // rel=0 giúp vô hiệu hóa chức năng video liên quan
output += "</iframe>";
output += "</div>";
document.write (output);
}
//]]>
</script>

Đến đây, mỗi khi đăng bài viết, ở chế độ Edit HTML trong công cụ đăng bài, bạn chỉ việc đặt code như sau:

<script>insert_YouTube("XXXXXXXXXXX");</script>

Trong đó XXXXXXXXXXX chính là ID của video trên Youtube.
Ưu điểm của cách này so với cách cũ là khi đang play video, click vào màn hình video thì sẽ không xuất hiện tab dẫn đến trang video Youtube (trong khi cách cũ vẫn bị tình trạng này).

More about

Tối ưu hóa việc lập chỉ mục blogspot trên công cụ tìm kiếm

Người đăng: chaobuoisang on Thứ Tư, 14 tháng 9, 2011

Khi nói đến lập chỉ mục trang web, chúng ta đang đề cập đến việc thêm một trang web vào danh sách các kết quả của một công cụ tìm kiếm. Về lý thuyết, người sử dụng Blogger không cần phải làm bất cứ điều gì phức tạp để blogspot được đánh chỉ mục, công việc này được thực hiện tự động khi bạn khai báo trong mục cài đặt Settings >> Basic:


Việc đưa một blogspot để được đánh chỉ mục trên công cụ tìm kiếm của Google có thể được thực hiện thủ công tại trang Add URL của Google. Tại đây, bạn chỉ cần điền vào URL trang blogspot của bạn là được.

Tuy nhiên, đối với blogspot, việc tự động lập chỉ mục trên công cụ tìm kiếm có những tiêu cực nhất định, nếu bạn để tất cả các trang trên blogspot của bạn đều được lập chỉ mục thì đó là một sai lầm. Nhìn chung, một blogspot nên chỉ lập chỉ mục trang chính, các trang bài viết (item page) và các trang tĩnh (static page), còn mọi kiểu trang khác (gồm các trang nhãn, các trang phân trang và các trang lưu trữ) nên bỏ qua và cần được chặn không cho lập chỉ mục để tránh việc lặp nội dung.

Những kiểu trang cần phải chặn như:

http://huynh-nhat-ha.blogspot.com/search/label/Blogger
http://huynh-nhat-ha.blogspot.com/search?updated-max=2011-08-31T00%3A00%3A00-03%3A00
http://huynh-nhat-ha.blogspot.com/2011_09_01_archive.html

Những kiểu trang như thế cần được chặn không cho lập chỉ mục vì chúng chứa những thông tin trùng lặp với trang chủ. Về lý thuyết file robot.txt chặn các URL trang nhãn, song đôi khi bạn vẫn tìm thấy các trang nhãn xuất hiện trên kết quả công cụ tìm kiếm do nhiều lý do khác nhau và điều này không có lợi cho blogspot của bạn.

Để chặn việc lập chỉ mục các trang lưu trữ, chúng ta sử dụng lệnh điều kiện như thế này:

<b:if cond='data:blog.pageType == &quot;archive&quot;'>
<meta content='noindex,nofollow' name='robots'/>
</b:if>

Tiếp tục muốn chặn không cho lập chỉ mục các trang khác ngoài trang chủ thuộc kiểu trang chính (index) thì ta sử dụng như sau:

<b:if cond='data:blog.pageType == &quot;index&quot;'>
<b:if cond='data:blog.homepageUrl != data:blog.url'>
<meta content='noindex,nofollow' name='robots'/>
</b:if>
</b:if>

Tựu trung lại, chúng ta sẽ có một đoạn code hoàn chỉnh để giúp chúng ta tối ưu hóa việc lập chỉ mục cho blogspot của bạn như sau:

<b:if cond='data:blog.pageType == &quot;archive&quot;'>
<!-- nếu là các trang lưu trữ thì không cho lập chỉ mục -->
<meta content='noindex,nofollow' name='robots'/>
<b:else/>
<b:if cond='data:blog.pageType == &quot;index&quot;'>
<b:if cond='data:blog.homepageUrl != data:blog.url'>
<!-- nếu là các trang nhãn và trang phân trang thì không cho lập chỉ mục -->
<meta content='noindex,nofollow' name='robots'/>
<b:else/>
<!-- còn lại trang chủ cho phép lập chỉ mục -->
<meta content='all,index,follow' name='robots'/>
</b:if>
<b:else/>
<!-- còn lại các trang bài viết và trang tĩnh cũng cho phép lập chỉ mục -->
<meta content='all,index,follow' name='robots'/>
</b:if>
</b:if>

Đoạn code trên cần được đặt sau dòng <b:include data='blog' name='all-head-content'/> trong Template của bạn.

Nếu kết hợp tối ưu hóa thẻ tiêu đề và thẻ meta mô tả cho blogspot thì bạn sẽ dùng code như sau:

<b:include data='blog' name='all-head-content'/>
<!-- Meta Tags and Indexing SEO Full Pack by http://www.thuthuatblogger.info for Bloggers -->
<b:if cond='data:blog.pageType == &quot;archive&quot;'>
<!-- nếu là các trang lưu trữ thì không cho lập chỉ mục -->
<meta content='noindex,nofollow' name='robots'/>
<b:else/>
<b:if cond='data:blog.pageType == &quot;index&quot;'>
<b:if cond='data:blog.homepageUrl != data:blog.url'>
<!-- nếu là các trang nhãn và trang phân trang thì không cho lập chỉ mục -->
<meta content='noindex,nofollow' name='robots'/>
<b:else/>
<!-- còn lại trang chủ cho phép lập chỉ mục và tối ưu thẻ meta -->
<meta content='Đây là đoạn text mô tả ngắn gọn cho chủ đề blogspot của bạn.' name='description'/>
<meta content='Từ khóa 1, từ khóa 2, từ khóa 3, từ khóa 4, từ khóa 5' name='keywords'/>
<meta content='all,index,follow' name='robots'/>
</b:if>
<b:else/>
<!-- còn lại các trang bài viết và trang tĩnh cũng cho phép lập chỉ mục -->
<meta expr:content='data:blog.pageName' name='Description'/>
<meta content='all,index,follow' name='robots'/>
</b:if>
</b:if>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<title><data:blog.title/></title>
<b:else/>
<title><data:blog.pageName/> | <data:blog.title/></title>
</b:if>
<b:skin><![CDATA[/*
More about

HIỂN THỊ TIÊU ĐỀ BÀI VIẾT TRONG MỘT NHÃN (KIỂU 2)

Người đăng: chaobuoisang on Thứ Ba, 13 tháng 9, 2011

Trước đây, tôi có chia sẻ cho các bạn bài HIỂN THỊ TIÊU ĐỀ BÀI VIẾT TRONG CÙNG MỘT NHÃN (KIỂU 1), nay tôi xin giới thiệu tiếp KIỂU 2. Kiểu 2 này cũng khá giống kiểu 1 chỉ khác đôi chút, các bạn xem hình.
Đầu tiên, bạn đăng nhập vào Blog > chọn Thiết kế > Thêm tiện ích HTML/Javacript rồi dán tất cả các code phía dưới vào.
<h2>TIÊU ĐỀ NHÃN</h2>
<style type="text/css">
#cotent-news {
border:#999 solid 1px;
width: 600px;
}

#top-news {
width: 330px;
height:126px;
padding:5px;
border:#bbb solid 1px;
background:#eee;
font-size:12px;
}


#bottom-news {
width: 333px;
padding:5px;
}

#bottom-news-item {
width: 106px;
margin-right:5px;
float:left;
}

#left-news {
padding:5px;
border-left:2px dotted #ccc;
}
</style>

<script language="JavaScript">
imgr = new Array();

imgr[0] = "http://sites.google.com/site/fdblogsite/Home/nothumbnail.gif";
imgico= "http://farm3.static.flickr.com/2426/3638176588_31366a6822_o.gif";

showRandomImg = true;

topwidth = 120;
topheight = 120;

botheight = 100;
botwidth = 100;

fntsize = 12;
vnesize = 16;
acolor = "#555";
cmcolor = "#555";
topcolor = "#f00";
aBold = true;


text = "comments";

showPostDate = true;

summaryPost = 100;
summaryFontsize = 12;
summaryColor = "#000";


numposts =13;
label = "WIN XP";
home_page = "http://dungheineken.blogspot.com/";

</script>
<script src="http://sites.google.com/site/fdblogsite/js/vne-recent%28fix%29.txt" type="text/javascript"></script><blockquote></blockquote>

<div class="separator" style="clear: both; text-align: center;">
<a href="http://dungheineken.blogspot.com/search/label/WIN XP" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5Md9stEcMAr5Z-WaNhppuYFcpo2o-d3-zJGFi31t_tv6GNfQXNKLZr451nIOFTixZ4RcCNpOLTk2N_L03jSrIW3FijP7zz1wY6ggEU4qbejkW1CW4tgkT1n2G6JNulj3Or_pNx-YtY6U/s1600/coollogo_com-273538502.png" /></a></div>
Bây giờ bạn thay hãy thay đổi tiêu đề nhãn, địa chỉ nhãn, địa chỉ Blog của mình, kích thước (có chú thích trong code)...để phù hợp với blog mình và Lưu lại là xong
Chúc các bạn thành công

Nguồn: Phan Dung
More about

Website, phần mềm, smartphone liên quan quản lý gia phả

Người đăng: chaobuoisang

Giới thiệu chung
Mình làm cái phần mềm Gia Phả từ ngày mới bắt đầu viết code php, năm 2003. Từ những ý tưởng chính như bài viết sau:  GIA PHẢ, TRUYỀN THỐNG VÀ HIỆN ĐẠI (bài này viết từ năm 2003, cũ rích)

Ban đầu, website rất cùi (bây giờ cũng cùi??), chỉ đơn giản là HTML, TEXT. Lý do chính là thời đó, mình nghĩ là người dùng toàn là những ông cụ lớn hơn 60 tuổi, xài Dialup là chính. Làm gì có ADSL như bây giờ. Phiên bản đầu, việc cập nhật thông tin gia phả cực kỳ khó khăn. Chỉ dùng web form. Chậm rì, lỗi nhiều như bug.

Sau này, Bản nâng cấp phần soạn thảo được viết lại hoàn toàn bằng JAVA SWT Vietnamgiapha Offline Editor, chạy lẹ hơn. Và quan trọng là có thể đồng bộ hóa dữ liệu giữa Software Offline và website.

Trên tinh thần phi lợi nhuận và vì cộng đồng là chính, mình sẽ viết lại toàn bộ kỹ thuật từ đầu tới cuối, để bạn hiểu cách làm một hệ thống Gia Phả.

Mục lục nội dung
1. Website Việt Nam Gia Phả
2. Phần mềm soạn thảo Offline Việt Nam Gia Phả
  • Chọn ngôn ngữ viết, vì sao dùng Java SWT
  • Mô tả các functions chính
  • Cách lưu trữ dữ liệu
  • Load dữ liệu từ file và xuất dữ liệu ra file.
  • Khó khăn chưa giải quyết được.
3. Hướng nâng cấp hỗ trợ cho smartphone 
4. Dự tính xa vời khác
Sẽ đăng từng bài một, xin đón đọc và chờ góp ý!
More about

Góp ý xây dựng trang Author cho Thủ thuật Blogger

Người đăng: chaobuoisang on Thứ Hai, 12 tháng 9, 2011

Thủ thuật Blogger luôn mở rộng cửa chào đón những tác giả có nhiệt huyết cống hiến cho cộng đồng Blogspot Việt Nam để chia sẻ những kinh nghiệm cá nhân về kỹ thuật thế kế blog trên nền tảng Blogger. Thực hiện chủ trương này, Thủ thuật Blogger xây dựng một trang Author thật đặc biệt thể hiện cái nhìn tổng quan về các tác giả, tại đây người đọc không chỉ có thể tiếp cận các bài viết của từng tác giả, mà còn có thể kết nối với các tác giả qua các trang mạng xã hội, tạo sự tương tác hài hòa giữa người đọc và tác giả.


Kể từ ngày 12/9/2011, trang Author của Thủ thuật Blogger được lập ra chính thức. Tuy nhiên, để có những tính năng thật nổi bật đồng thời đem lại hiệu quả tốt nhất cho việc khai thác kiến thức của người đọc, Ban Quản trị Thủ thuật Blogger kính đề nghị bạn đọc gần xa góp ý về giao diện trang Author này; có thể cho ý kiến thêm, bớt tiện ích cho phù hợp với loại hình trang.

Trân trọng cảm ơn và chân thành kính báo!
More about

FLASH ĐẸP CHO BLOG (PHẦN 9)

Người đăng: chaobuoisang

Dưới đây là một số files flash đẹp để bạn có thể trang trí cho Blog mình thêm đẹp, ứng với mỗi files flash là mã code phía dưới, bạn chỉ cần copy và thêm tiện ích HTML/Javacrip rồi dán vào nơi mà bạn muốn. (Bạn có thể thay đổi kích thước ở mục height: chiều cao và width: chiều rộng để cho thích hợp với blog của mình).
Vì files flash nhiều sẽ làm cho Blog load chậm, do đó mỗi bài tôi chỉ giới thiệu 10 files (chia thành nhiều bài), mong các bạn thông cảm.

Mẫu 1:





Mẫu 2:







Mẫu 3:






Mẫu 4:








Mẫu 5:





Mẫu 6:






Mẫu 7:






Mẫu 8:





Mẫu 9:





Mẫu 10:







More about