Thực ra là giấu sẵn, nếu không chặn thì lại đem ra. Chẳng là ở Việt Nam ta thì Facebook vẫn bị chặn (một cách nửa vời). Trong khi đó thì nhân dân vẫn có nhu cầu nhúng nút like, ô bình luận lên website.
Nhưng chẳng may khách nào vào trang ta mà không (tìm cách) vào được FB thì sẽ hiện ra một đống giun dế trên trang, khách sợ, chỉ muốn đóng cái trang đó lại.
Vậy thì khách nào vào được FB thì ta mới cho hiện ra, còn không thì ta cứ giấu luôn đi.
Chuyện nó chỉ có là vậy, nhưng phải nói lòng vòng cho thêm tầm long trọng mà cũng không làm mất đi cái nét nhăng nhít :p
Đầu tiên, người công dân Việt Nam nghĩ tới chỗ FB.init
, nếu mà gọi được cái này thì tức là vào được Facebook. Nhưng mà rất tiếc là đé0 hẳn như vậy.
Sự thực là tuy không vào được Facebook chấm com nhưng vẫn tải được SDK mà chẳng phải làm gì. Tức là nó vẫn render mấy cái mã XFBML ra thành HTML. Nhưng mà src
cho iframe
là mấy cái như ./like.php
thì không tải được. Xem trên trình duyệt Cáo đỏ, nó hiện ra cái URL dài cả chục dòng trông lòng thòng rối rắm hơn cả dây điện thoại ở thủ đô Hà Nội hồi chưa hạ ngầm.
Nhưng mà Mai An Tiêm, Lục Vân Tiên và những thằng há miệng chờ sung trên Stackoverflow thì rất chi là chi chít.
[sourcecode language=”javascript”]
// Source: http://stackoverflow.com/questions/13664678/check-if-facebook-is-blocked-then-redirect
var FacebookIsOnline = false; // Will be reused for on the fly created elements
function isFacebookOnline(callback) {
var timer = setTimeout(function(){
// timeout after 10 seconds
callback(false);
},10000)
var img = document.createElement("img");
img.onload = function() {
clearTimeout(timer);
callback(true);
}
img.onerror = function() {
clearTimeout(timer);
callback(false);
}
img.src = "http://www.facebook.com/favicon.ico";
}
// Check for FB and show all
jQuery(document).ready(function () {
isFacebookOnline(function(found){
if(found) {
jQuery(‘.facebook-embed’).show();
FacebookIsOnline = true;
}
})
});
[/sourcecode]
Đại loại là đặt mấy cái mã nhúng XFBML của Facebook vào một cái thẻ div
có class là .facebook-embed
(đặt là .phaybuc-embet cũng được). Xong rồi cho cái class này là display:none
. Khi nào đốc cu mần rét đi thì kiểm tra xem có tải được cái favicon.ico của Facebook không, nếu được thì dùng jQuery để show
hết các thẻ div.facebook-embed
lên. Nếu mà không tải được thì cứ để cho những con giun nó nằm sâu trong lòng đất.
Tuy thế, chiêu này không hoạt động trên Ai phôn nhưng được cái là trên Ai phôn không có giun dế mà chỉ có những khoảng trắng mênh mông như những đồng cát trắng ở miền Trung. Ai muốn biết cát trằng miền Trung trên Ai phôn trông như nào thì vào trang tuyensinh.ussh.edu.vn mà xem.