Read More
Hiển thị các bài đăng có nhãn Chrome. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Chrome. 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
Để 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
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
Hướng dẫn bảo mật cá nhân - Trình duyệt web
Read More
Death Click - Extension Chrome hỗ trợ quản lý Facebook Group
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
Chrome Extension - Snippet mở trang cảm ơn, changelog
Mẹo nhỏ trong lập trình Chrome Extension
Trước đây tớ hay dùnglocalStorage
để 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ì:
- Bạn phải tạo ra một dữ liệu tạm thông qua localStorage.
- 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:
- Là API chính thức của Chrome.
- Không cần tạo dữ liệu tạm để làm flag.
- 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!
Kích hoạt "Tắt tiếng tab" trên Google Chrome
![]() |
Hướng dẫn kích hoạt tính năng "Tắt tiếng tab" trên Google Chrome |
Read More
Chuyển Truy cập ẩn danh thành chế độ mặc định trên Chrome
![]() |
Chuyển Truy cập ẩn danh thành chế độ mặc định trên Chrome |
Ngày nay, quyền riêng tư là mối quan tâm lớn nhất trên thế giới. Những người nhận thức được hậu quả của hành vi vi phạm quyền riêng tư đang sử dụng những cách khác nhau để bảo vệ mình. Mới đây, để giữ sự riêng tư về lịch sử tìm kiếm của bạn, Google đã cho phép các tùy chọn tải và xóa lịch sử tìm kiếm của bạn. Nhưng họ không hứa rằng nó là an toàn 100%. Vì vậy tôi kiến nghị các bạn sử dụng chế độ ẩn danh (có hầu hết trong những trình duyệt phổ biến hiện nay) để hoàn toàn vô danh khi lướt web.
Chế độ ẩn danh còn được gọi là "chế độ khiêu dâm" (porn mode - lý do thì chắc ai cũng hiểu), nhưng ngoài việc thỏa mãn bản năng của bạn thì còn có rất nhiều lý do khác để kích hoạt chế độ ẩn danh. Hãy tìm hiểu thêm một chút về chế độ duyệt web này cũng như lợi thế của nó.
Read MoreTả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.
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 HayHayTV mà khô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
Tạo ảnh hiển thị khác nhau trên nhiều trình duyệt
![]() |
Cách tạo ảnh "ma thuật" có khả năng thay đổi trên nhiều trình duyệt |
Trước đó, trong bài viết "Màu sắc thật sự của chiếc váy gây tranh cãi", mình có giới thiệu với các bạn một bức ảnh hiển thị khác nhau trên trình duyệt Chrome và Firefox. Ở bài viết này, mình sẽ hướng dẫn về ứng dụng đã tạo ra bức ảnh đó.
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 |
Đâ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