Hiển thị các bài đăng có nhãn Add-on. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Add-on. Hiển thị tất cả bài đăng

Công cụ xem tin nhắn đầu tiên trên Facebook được code như thế nào?

Do có nhiều bạn gặp lỗi khi sử dụng tính năng "Tìm lại tin nhắn đầu tiên", cũng có một số bạn đưa ra nghi ngờ rằng tính năng này lấy random, hoặc lấy tất cả các tin nhắn sau đó lọc ra, nên mình xin phân tích một chút về cách mình tiếp cận với bài toán cũng như những thuật toán được sử dụng cho tính năng này:

Để tiếp cận với bài toán thì việc đầu tiên mình làm đó là ngồi capture và đọc các requests từ browser gửi lên khi mình kéo tin nhắn trên Messenger. Mục đích của bước này là để tìm hiểu cơ chế của Facebook Messenger trong việc lấy tin nhắn và xây dựng một cơ chế riêng để lấy n tin nhắn đầu tiên dựa trên đó.
Read More

J2TEAM Cookies - Chia sẻ tài khoản mà không sợ lộ mật khẩu

j2team-cookies-chrome-extension

J2TEAM Cookies là  một extension tớ code cho ông anh dùng cơ mà nhân tiện up lên Chrome Store luôn để cho mọi người cùng sử dụng. Nó giúp các bạn có thể chia sẻ tài khoản trực tuyến cho người khác mà không cần tiết lộ mật khẩu.

Với mục đích như trên, chắc hẳn trong đầu các bạn đang nghĩ tới một extension khác khá phổ biến là Access URL đúng không? Vậy câu hỏi được đặt ra ngay lúc này là...
Read More

Death Click - Extension Chrome hỗ trợ quản lý Facebook Group

death-click-chrome-extension

Lý do extension Death Click xuất hiện


Từ khi tạo ra nhóm J2TEAM Community thì một trong những công việc tôi thực hiện khá nhiều hằng ngày đó là... ban thành viên vi phạm. Nghe có vẻ nhỏ nhặt nhưng đó là một trong những điều giúp nhóm phát triển tới hiện tại.
Read More

FAQ: Các câu hỏi liên quan về việc sử dụng extension của Juno_okyo

Cài đặt add-on/extension như thế nào?

Bạn có thể tìm và cài đặt extension của tớ bằng cách tìm theo từ khóa juno_okyo hoặc j2team trên Chrome Store hoặc nhấn vào liên kết trực tiếp tới Store từ các bài viết giới thiệu trên Blog này.
Read More

TIL #02: Vài kinh nghiệm phát triển add-on cho Firefox

Firefox-add-on-development-tips
Hôm nay vừa port xong Facebook Original Emoticons sang phiên bản Firefox, tôi quyết định gửi add-on của mình lên AMO (là trang liệt kê các add-on Firefox cho người dùng cài đặt, giống như Chrome Store vậy). Ban đầu cũng chỉ định tải tập tin XPI lên cho các bạn tải về tự cài thủ công thôi, vì trước đây cũng gửi một add-on mà không được duyệt. Thôi thì quyết định thử lại vận may một lần nữa vậy.
Read More

Hướng dẫn cài đặt J2TeaM Chatbox cho XenForo

J2TeaM Chatbox XenForo

Giới thiệu về add-on J2TeaM Chatbox

Ngày trước, đợt còn tạo diễn đàn bằng vBulletin (vBB) thì tôi thường sử dụng mod ChangUonDyU Chatbox. Mod này cũng khá nổi tiếng nên bạn nào từng dùng vBB chắc đều biết tới, thứ hai là nó là sản phẩm của một lập trình viên người Việt.
Read More

Facebook Protector - Phỏng vấn tác giả Mạnh Tuấn

Sự ra đời extension Facebook Protector của lập trình viên người Việt đã gây ra những phản ứng trái chiều. Người hào hứng đón nhận, người hoài nghi e dè và có cả người ném đá. Chúng tôi đã hỏi chuyện tác giả để làm rõ những thắc mắc này.
Read More

Chrome Extension - Snippet mở trang cảm ơn, changelog

chrome-extension-tutorial

Mẹo nhỏ trong lập trình Chrome Extension

Trước đây tớ hay dùng localStorage để tạo flag đánh dấu khi nào người dùng vừa mới cài đặt extension của mình. Và sau này khi ngó qua mã nguồn của mấy extension phổ biến cũng thấy họ làm cách tương tự. Cụ thể thì như này:

// background.js
(function($) {
if ($.getItem('installed') === null) {
$.setItem('installed', true);

chrome.tabs.create({
url: 'http://example.com/thank-you.html'
});
}
})(localStorage);


Cách làm này tất nhiên là có thể dùng được, không sao cả. Tuy nhiên nó không chuyên nghiệp, vì:

  1. Bạn phải tạo ra một dữ liệu tạm thông qua localStorage.
  2. Bạn không thể biết được người dùng vừa cài đặt hay chỉ vừa cập nhật phiên bản mới.

Sau này khi lần mò trong Document của Google thì tớ biết được một cách hay hơn, xin chia sẻ lại với các bạn:

// background.js
chrome.runtime.onInstalled.addListener(details => {
switch (details.reason) {
case 'install':
chrome.tabs.create({url: 'http://example.com/thank-you.html'});
break;

case 'update':
chrome.tabs.create({url: 'http://example.com/changelog.html'});
break;
}
});

Ưu điểm của cách này:

  1. Là API chính thức của Chrome.
  2. Không cần tạo dữ liệu tạm để làm flag.
  3. Có thể biết người dùng vừa cài đặt hay cập nhật phiên bản mới. Từ đó chúng ta có thể mở trang cảm ơn, Donate, CTA (kêu gọi người dùng đánh giá extension trên Store chẳng hạn) hoặc cho người dùng biết các thay đổi trong phiên bản mới (changelog).
Hi vọng bài viết này sẽ giúp ích được các bạn trong việc tạo ra một Chrome Extension chuyên nghiệp!

Tải ảnh GIF trên 9GAG - download GIF image on 9gag.com

Tải ảnh GIF trên 9GAG - download GIF image on 9gag.com
Download GIF image on 9gag.com
Nếu như bạn chưa biết thì khi người dùng tải GIF lên 9gag.com thì họ chuyển đổi GIF thành định dạng mp4 và webm. Sau đó sử dụng thẻ <video> kết hợp thuộc tính loop (lặp) để tạo thành một ảnh động (mà thực chất là một video phát liên tục). Do đó không thể lưu ảnh về máy như bình thường.


Read More

Xem phim tại HayHayTV mà không cần tắt AdBlock

Xem phim tại HayHayTV mà không cần tắt AdBlock
Xem phim tại HayHayTV mà không cần tắt AdBlock
Tình hình là vào ngó qua HayHayTV.vn thì thấy sử dụng đúng phương pháp kiểm tra AdBlock trước mà mình dùng để viết mã nguồn mở AdBlock Checker. Thế là rảnh rỗi viết luôn phần mở rộng cho Chrome giúp các bạn xem phím miễn phí tại HayHayTVkhông cần vô hiệu hóa AdBlock hoặc các tiện ích chặn quảng cáo tương tự.


Read More

J2TeaM URL Tools - Các công cụ tương tác với URL

 J2TeaM URL Tools - Các công cụ tương tác với URL
J2TeaM URL Tools - Các công cụ tương tác với URL
Đây là sản phẩm tiếp theo sau Facebook Reply (http://goo.gl/9rTo3S) của J2TeaM. Phần mở rộng này sẽ đem đến cho bạn những gì? Bạn có thể dễ dàng chia sẻ, báo cáo, rút gọn,.. liên kết đang truy cập.


Read More