Điểm
mạnh của blog là tính tương tác giữa người viết và người đọc. Những dẫn
chứng dạng chữ chưa đủ tính thuyết phục thì người đọc còn muốn chèn
thêm ảnh, video hoặc nhạc. Ở diễn đàn thì việc chèn ảnh, video hay nhạc
được thực hiện dễ dàng với BB code, còn Blogger chỉ hỗ trợ 3 thẻ HTML là
<b>, <i> và <a> - điều đó chưa đủ làm thỏa mãn bạn? Bài viết này sẽ giúp bạn làm việc đó dễ dàng cho khung comment của Blogger.
Ảnh
được chèn từ link direct còn video và nhạc thì từ Youtube và Nhaccuatui
dựa vào link trên thanh địa chỉ. Code để chèn cụ thể:
Xem Demo
Chèn ảnh:
Link ảnh là http://domain.com/image.png thì code chèn sẽ là
[img]http://domain.com/image.png[/img]Chèn video từ Youtube:
Link video là http://www.youtube.com/watch?v=0nbY7Mg_vMI&feature=related thì code chèn sẽ là
Link nhạclà http://www.nhaccuatui.com/nghe?L=6g3kDUIYbvmt thì code chèn sẽ là
[youtube]http://www.youtube.com/watch?v=0nbY7Mg_vMI&feature=related[/youtube]Link video là http://youtu.be/0nbY7Mg_vMI thì code chèn sẽ là
[youtube]http://youtu.be/0nbY7Mg_vMI[/youtube]
Chèn nhạc từ Nhaccuatui:Link nhạclà http://www.nhaccuatui.com/nghe?L=6g3kDUIYbvmt thì code chèn sẽ là
[nct]http://www.nhaccuatui.com/nghe?L=6g3kDUIYbvmt[/nct]
Link nhạc là http://www.nhaccuatui.com/nghe?M=B_6M7IcZTz thì code chèn sẽ là [nct]http://www.nhaccuatui.com/nghe?M=B_6M7IcZTz[/nct]
Bước 1: Mở template và chèn đoạn mã dưới đây trước thẻ </body>
<b:if cond='data:blog.pageType == "item"'>
<script type='text/javascript'>
//<![CDATA[
function replaceText(){if(!document.getElementById){return;}
bodyText = document.getElementById("multimedia");
theText = bodyText.innerHTML;
theText = theText.replace(/\[img\].*?'.*?\[\/img\]/gi, "");
theText = theText.replace(/\[nct\].*?'.*?\[\/nct\]/gi, "");
theText = theText.replace(/\[youtube\].*?'.*?\[\/youtube\]/gi, "");
theText = theText.replace(/\[img\]/gi, "<div style='clear:both'></div><img style='float:left;margin:10px 0;border:1px solid #DDD;max-width:590px;background:#FFF;padding:4px' src='");
theText = theText.replace(/\[\/img\]/gi, "'/><div style='clear:both'></div>");
theText = theText.replace(/\[youtube\]http:\/\/youtu.be/gi, "<iframe width='480' height='390' src='http://www.youtube.com/embed");
theText = theText.replace(/\[youtube\]http:\/\/www.youtube.com\/watch\?v=/gi, "<iframe width='480' height='390' src='http://www.youtube.com/embed/");
theText = theText.replace(/&feature=/gi, "?rel=0' '");
theText = theText.replace(/\[\/youtube\]/gi, "?rel=0' frameborder='0' allowfullscreen></iframe>");
theText = theText.replace(/\[nct\]http:\/\/www.nhaccuatui.com\/nghe\?L=/gi, "<div style='overflow:hidden'><embed style='margin-top:-250px;width:300px;height:400px' src='http://www.nhaccuatui.com/l/");
theText = theText.replace(/\[nct\]http:\/\/www.nhaccuatui.com\/nghe\?M=/gi, "<div style='overflow:hidden'><embed style='margin-top:-350px;width:300px;height:400px' src='http://www.nhaccuatui.com/m/");
theText = theText.replace(/\[\/nct\]/gi, "' quality='high' wmode='transparent' type='application/x-shockwave-flash'></embed></div>");
bodyText.innerHTML = theText;
}replaceText();
//]]>
</script>
</b:if>
Bước 2: Tìm thẻ <b:loop values='data:post.comments' var='comment'>và thêm trước nó thẻ
<div id='multimedia'>Tìm thẻ đóng tương ứng:
</b:loop>và thêm sau nó thẻ
</div>- Với một số Blog thì bạn thay đoạn code:
bodyText = document.getElementById("multimedia");Thành:
bodyText = document.getElementById("Blog1");Và bỏ qua bước 2.
- Update 20/02/2012: Update ngày 20/02/2012: Đối với các bạn sử dụng Thread Comment mặc định của Blogger (tức là blogspot mới tạo có phân cấp tới cấp 2) thì các bạn thay đoạn code sau:
bodyText = document.getElementById("multimedia");Thành đoạn sau:
bodyText = document.getElementById("comment-holder");
Luu ý!
Có thể bạn muốn thêm bước 3 là hướng dẫn cho người đọc biết được cách để chèn ảnh, video và nhạc vào nhận xét? Mình để mọi người tự làm bước này.Dễ nhận thấy thủ thuật này tương tự như bài Emoticons for Blogspot (work in IE) - Biểu tượng mặt cười cho Blogspot. Nếu bạn đã áp dụng thủ thuật đó cho blog rồi thì chỉ cần thêm đoạn mã mình đánh dấu bằng màu tím ở bước 1 vào trước bodyText.innerHTML = theText; trong template và bỏ qua bước 2.
Blog mình không có nhu cầu chèn ảnh hay video ở comment nên không áp dụng thủ thuật này, các bạn có thể test thoải mái ở blog demo.
Chúc thành công!
Theo duypham.
0 nhận xét:
Đăng nhận xét