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

code

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).

:point_right: Theo dõi Juno_okyo trên Kipalog để nhận được thông báo khi có bài viết mới! :wink:

:point_right: Social Networks: Facebook · Twitter · Google+ · GitHub

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Juno_okyo

25 bài viết.
948 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
159 15
(Ảnh) Biểu thức chính quy (hay regex) là một công cụ mạnh mẽ mà mỗi nhà phát triển nên biết. Nó có thể khớp với một chuỗi các ký tự dựa trên các t...
Juno_okyo viết hơn 3 năm trước
159 15
White
86 15
(Ảnh) Trong bài viết này tôi sẽ chia sẻ 12 thủ thuật vô cùng hữu ích cho JavaScript. Những thủ thuật này sẽ giúp bạn giảm lượng code cũng như làm ...
Juno_okyo viết hơn 2 năm trước
86 15
White
60 8
Bạn thấy chán các trang web cũ? Muốn tìm một vài góc mới của Internet để giúp bạn tìm lại sự hứng thú? Tốt thôi, bạn đã gặp may đấy. Dù bạn đang tì...
Juno_okyo viết hơn 2 năm trước
60 8
Bài viết liên quan
White
28 3
V8 hay còn gọi là Chrome V8, là một Javascript engine được phát triển bởi Chromium Project, mục đích ban đầu là dành cho Google Chrome nói riêng và...
Thành Minh viết hơn 1 năm trước
28 3
White
11 5
Các bạn có thể đọc các bài còn lại trong series ở đây: + Phần 1: https://kipalog.com/posts/TaobotchoiTRextrongChromephan1Hardcodeversion + Phần 2...
Tulip4attoo viết hơn 1 năm trước
11 5
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
25 bài viết.
948 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!