(Javascript) Website “nhảy” Harlem Shake

“Harlem Shake“, điệu nhảy có phần ngớ ngẩn, điên loạn đang gây nên cơn rung chấn cuồng nhiệt trên internet và hứa hẹn sẽ là đối thủ đáng gờm của Gangnam Style trong năm nay. Bắt đầu từ sự ngẫu hứng của chàng trai Filthy Frank và đám bạn khi nghe ca khúc Harlem Shake của Baauer bỗng dưng bật dạy nhảy như điên loại và đã tạo một trào lưu mới trên mạng internet.
Hiện tượng Harlem Shake lan nhanh đến nỗi nó xuất hiện ở khắp mọi nơi với đủ thành phần tham gia. Để góp vui vào trào lưu mới này, trang chia sẻ video hàng đầu thế giới là YouTube cũng “lắc” theo điệu Harlem Shake theo cách riêng của họ. Giờ đây khi bạn tìm kiếm trên YouTube với từ khóa [do the harlem shake] sẽ thấy các kết quả của trang tìm kiếm nhảy điên loạn như thế này với hành động đầu tiên của logo.
http://www.youtube.com/results?search_query=do the harlem shake

Youtube do the harlem shake
Youtube do the harlem shake

Còn bạn thì sao? Hãy cùng hưởng ứng điệu nhảy này nào. Mình sẽ hướng dẫn các bạn 2 cách đơn giản

1. Dùng công cụ sẵn có:

Cách này chỉ đơn giản là vào trang http://hsmaker.com, sau đó nhập url website của bạn vào, thế là xong. Lúc này muốn chia sẻ cho ai đó bạn chỉ cần copy URL trên thanh address rồi gửi cho họ là xong. URL của bạn sẽ có dạng http://hsmaker.com/harlemshake.asp?url=[url_của_bạn]. Nếu muốn chèn vào trang web của bạn bạn có thể dùng iframe hoặc redirect qua là được.

2. Tự tạo hiệu ứng Harlem Shake bằng Javascript:

Đầu tiên, tải về các đoạn mã sẽ dùng trong phần này tại đây. Lưu ý là script này mình cũng sưu tầm thôi hình như là nó ko miễn phí đâu nhé (6$ thì phải)

Upload file harlem.css và harlem.min.js lên hosting của bạn. Lưu ý với file harlem.css cần upload ngang hàng với index.

Chèn đoạn mã sau vào phía trên thẻ </body>:

<script type="text/javascript" src="harlem.min.js"></script>
<script type="text/javascript">// <![CDATA[
var harlem = null;
 	$  (function ()
 	{
 		harlem = $  .fn.speedoHarlem();
 	});
// ]]></script>

Lưu ý cấu hình đúng đường dẫn đến file harlem.min.js. Sau đó hãy quay lại website để thưởng thức thành quả. Demo của mình http://hanamonline.com/?s=halem+sharke . Chúc thành công.

jQuery Mega Menu – tạo menu cho website theo cách chuyên nghiệp

jQuery Mega Menu là 1 jquery plugin được phát triển bởi GeekTantra. Với MegaMenu bạn có thể dễ dàng tạo menu theo phong cách riêng của mình. MegaMenu hỗ trợ menu hiển thị với nhiều hiệu ứng như slideDown/slideUp, fadeIn/fadeOut và các hiệu ứng đơn giản khác. MegaMenu rất nhẹ vì chủ yếu sử dụng CSS và javascript làm nền tảng. Với MegaMenu việc của bạn là sáng tạo menu tạo ra các HTML và việc còn lại là chèn nó cùng với MegaMenu vào website của bạn.
Nếu bạn đã sử dụng MegaMenu thì bạn cũng sẽ dễ dàng hiểu rằng tại sao rất nhiều website lớn trên thế giới sử dụng nó như:

Walmart

Mega menu Walmart
Mega menu Walmart

Adidas

Mega menu Adidas

Nike

Mega Menu Nike

và nhiều website khác như mydeco.com, like.com….

Ở Việt Nam có nhiều website lớn sử dụng MegaMenu như Zing, Mediamart…

Download Jquery Mega Menu tại đây: jquery-megamenu.2.0.zip

Để sử dụng:

Trong phần header của HTML thêm như sau:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script><script type="text/javascript" src="javascripts/jquery.megamenu.js"></script>
<script type="text/javascript">// <![CDATA[
jQuery(document).ready(function(){
 jQuery(".megamenu").megamenu();
});
// ]]></script>

Tiếp theo trong body thêm đoạn code sau:

</pre>
<ul class="megamenu">
	<li><a href="javascript: void(0)">First Menu</a>
<div style="width: 350px;">Contents of the first mega menu</div></li>
	<li><a href="javascript: void(0)">Second Menu</a>
<div style="width: 350px;">Contents of the second mega menu</div></li>
</ul>
<pre>

Nếu bạn sử dụng MegaMenu bạn sẽ thấy nó thật tuyệt vời. Để tham khảo thêm các bạn truy cập trang chủ của MegaMenu: http://www.geektantra.com/2009/09/jquery-mega-menu/.Chúc các bạn thành công.

AutoIT decompiler – dịch ngược AutoIT

AutoIT là một ngôn ngữ linh hoạt và đầy sức mạnh tuy nhiên nó lại rất dễ bị dịch ngược. Bản thân mình cũng rất hay dịch ngược phần mềm để xem mã nguồn để học hỏi (ranh giới giữa học hỏi với  ăn cắp nó thật mong manh 🙂 ). Vì các phần mềm code bằng AutoIT share trên mạng thường là của các cá nhân nên độ tin cậy không cao chính vì vậy dịch ngược chúng ra để kiểm tra xem nó có “sạch” không hoặc chạy trên trình biên dịch của AutoIT thì an tâm hơn.

Hôm nay mình giới thiệu đến các bạn một công cụ dịch ngược AutoIT hoàn toàn mới đó là Auto2Exe (đừng nhầm lẫn với công cụ Auto2Exe có trong bộ cài của AutoIT nhé). Công cụ này được viết bằng FASMW (Flat assembler for Windows – trình biên dịch assembly mã nguồn mở trên Windows). Điểm mạnh Auto2Exe là hỗ trợ cả x86 và x64. Ngoài ra nó còn dịch ngược được cả các file autoit bị pack (nén và bảo vệ) bằng các packer như: AutoIt3Camo, Themida, Armadillo và nhiều packer khác điều mà các trình dịch ngược autoit khác không làm được.

Download:

[do action=”adfly_download” href=”http://adf.ly/KA0E1″ title=”Autoit 2 Exe”]http://www.mediafire.com/download.php?gze0x4nfsudh4mc[/do]

Sử dụng ứng dụng này rất đơn giản sau khi download về giải nén sau đó chạy file Exe2Aut.exe.

Giao diện Auto2Exe
Giao diện Auto2Exe

Muốn dịch ngược file exe nào bạn chỉ cần kéo thả file đó vào giao diện ứng dụng là được. Sau khi kéo thả file vào mã nguồn được tạo ra và hiển thị trên giao diện

Mã nguồn hiển thị trên giao diện
Mã nguồn hiển thị trên giao diện

Mình đã test thử nhiều script và kết quả thật sự ngoài mong đợi. Chúc các bạn “học hỏi” được nhiều script hay

Mã nguồn tiện ích chuyển tiếng Việt có dấu sang không dấu Autoit

Chức năng này giống chức năng loại bỏ dấu trong Unikey tuy nhiên tiện lợi hơn vì chỉ việc copy vào clipboard sau đó nháy chuột phải vào icon chương trình dưới system tray chọn convert là xong.

Các bạn có thể cải tiến để tiện ích hoạt động tốt hơn. Sau đây là toàn bộ code

[au3]
#include <GuiConstantsEx.au3>
#include <ClipBoard.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>

Opt(‘MustDeclareVars’, 0)
Opt("TrayMenuMode",1)
_Main()
Func _Main()
$convertitem = TrayCreateItem("Convert")
$exititem = TrayCreateItem("Exit")
TraySetState()
While 1
$msg = TrayGetMsg()
Select
Case $msg = 0
ContinueLoop
Case $msg = $convertitem
ConvertClipboard()
Case $msg = $exititem
ExitLoop
EndSelect
WEnd
EndFunc

Func ConvertClipboard()
$s_Text=_ClipBoard_GetData ($CF_UNICODETEXT)
$s_Text=cv2urltitle($s_Text)
$s_Text=StringLower($s_Text)
_ClipBoard_SetData($s_Text)
MsgBox(0,"Thành công","Chuỗi nhận được: " & $s_Text)
EndFunc

Func cv2urltitle($text)
$uni1 = StringSplit("á,à,ạ,ả,ã,â,ấ,ầ,ậ,ẩ,ẫ,ă,ắ,ằ,ặ,ẳ",",",2)
For $i=0 to Ubound($uni1)-1
$text = StringReplace($text,$uni1[$i],"a");
Next

$uni2 = StringSplit("Á,À,Ạ,Ả,Ã,Â,Ấ,Ầ,Ậ,Ẩ,Ẫ,Ă,Ắ,Ằ,Ặ,Ẳ",",",2);
For $i=0 to Ubound($uni2)-1
$text = StringReplace($text,$uni2[$i],"A");
Next

$uni3 = StringSplit("é,è,ẹ,ẻ,ẽ,ê,ế,ề,ệ,ể,ễ",",",2);
For $i=0 to Ubound($uni3)-1
$text = StringReplace($text,$uni3[$i],"e");
Next

$uni4 = StringSplit("É,È,Ẹ,Ẻ,Ẽ,Ê,Ế,Ề,Ệ,Ể,Ễ",",",2);
For $i=0 to Ubound($uni4)-1
$text = StringReplace($text,$uni4[$i],"E");
Next

$uni5 = StringSplit("ó,ò,ọ,ỏ,õ,ô,ố,ồ,ộ,ổ,ỗ,ơ,ớ,ờ,ợ,ở",",",2);
For $i=0 to Ubound($uni5)-1
$text = StringReplace($text,$uni5[$i],"o");
Next

$uni6 = StringSplit("Ó,Ò,Ọ,Ỏ,Õ,Ô,Ố,Ồ,Ộ,Ổ,Ỗ,Ơ,Ớ,Ờ,Ợ,Ở",",",2);
For $i=0 to Ubound($uni6)-1
$text = StringReplace($text,$uni6[$i],"O");
Next

$uni7 = StringSplit("ú,ù,ụ,ủ,ũ,ư,ứ,ừ,ự,ử,ữ",",",2);
For $i=0 to Ubound($uni7)-1
$text = StringReplace($text,$uni7[$i],"u");
Next

$uni8 = StringSplit("Ú,Ù,Ụ,Ủ,Ũ,Ư,Ứ,Ừ,Ự,Ử,Ữ",",",2);
For $i=0 to Ubound($uni8)-1
$text = StringReplace($text,$uni8[$i],"U");
Next

$uni9 = StringSplit("í,ì,ị,ỉ,ĩ",",",2);
For $i=0 to Ubound($uni9)-1
$text = StringReplace($text,$uni9[$i],"i");
Next

$uni10 = StringSplit("Í,Ì,Ị,Ỉ,Ĩ",",",2);
For $i=0 to Ubound($uni10)-1
$text = StringReplace($text,$uni10[$i],"I");
Next

$text = StringReplace($text,"đ","d");
$text = StringReplace($text,"Đ","D")
$uni13 = StringSplit("ý,ỳ,ỵ,ỷ,ỹ",",",2);
For $i=0 to Ubound($uni13)-1
$text = StringReplace($text,$uni13[$i],"y");
Next

$uni14 = StringSplit("Ý,Ỳ,Ỵ,Ỷ,Ỹ",",",2);
For $i=0 to Ubound($uni14)-1
$text = StringReplace($text,$uni14[$i],"Y");
Next
Dim $aArray[26] = [".","!","~","@","#","$","%","^","&","*","(",")","-","=","+","|","\","/","?",",","’","<",">",":","’"," "]
For $i=0 to UBound($aArray)-1
$text = StringReplace($text,$aArray[$i],"-");
Next
return $text;
EndFunc
[/au3]

URL tiếng Việt không dấu (friendly link unicode) bằng javascript

Hàm này dùng để tạo URL không dấu tiếng Việt (friendly link unicode) có thể sử dụng cho nhiều mục đích khác nhau. Mình sử dụng trong mã nguồn x-cart vì nó sinh url bằng javascript mà không hỗ trợ unicode tiếng Việt. Ai thấy hữu ích thì thanks mình nha

function make_friendly_link(s) {
  if (typeof s == "undefined") {
    return;
  }

  var i=0,uni1,arr1;
  var newclean=s;
  uni1 = 'à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ|À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ|A';
  arr1 = uni1.split('|');
  for (i=0; i<uni1.length; i++) newclean = newclean.replace(uni1[i],'a');
 
  uni1 = 'è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ|È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ|E';
  arr1 = uni1.split('|');
  for (i=0; i<uni1.length; i++) newclean = newclean.replace(uni1[i],'e');
 
  uni1 = 'ì|í|ị|ỉ|ĩ|Ì|Í|Ị|Ỉ|Ĩ|I';
  arr1 = uni1.split('|');
  for (i=0; i<uni1.length; i++) newclean = newclean.replace(uni1[i],'i');
   
  uni1 = 'ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ|Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ|O';
  arr1 = uni1.split('|');
  for (i=0; i<uni1.length; i++) newclean = newclean.replace(uni1[i],'o');

  uni1 = 'ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ|Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ|U';
  arr1 = uni1.split('|');
  for (i=0; i<uni1.length; i++) newclean = newclean.replace(uni1[i],'u');

  uni1 = 'ỳ|ý|ỵ|ỷ|ỹ|Ỳ|Ý|Ỵ|Ỷ|Ỹ|Y';
  arr1 = uni1.split('|');
  for (i=0; i<uni1.length; i++) newclean = newclean.replace(uni1[i],'y');
 
  uni1 = 'd|Đ|D';
  arr1 = uni1.split('|');
  for (i=0; i<uni1.length; i++) newclean = newclean.replace(uni1[i],'d');
 
  newclean = newclean.toLowerCase()
  ret = newclean.replace(/[\&]/g, '-and-').replace(/[^a-zA-Z0-9._-]/g, '-').replace(/[-]+/g, '-').replace(/-$/, '');

  return ret;
}