Hướng dẫn lập trình javascript gửi thông báo (notification) trên trình duyệt web

 notify agitech

Trong bài viết này tôi sẽ giới thiệu cho các bạn chưa biết cách sử dụng javascript để tạo thông báo trình duyệt (còn được gọi là notification). Thông báo sẽ gửi một nội dung thông báo ngắn cho người đang truy cập. Thông báo còn được ghi xuống notification của window.

Dưới đây là đoạn code mẫu để tạo khi click vào nút "Notify Me". Trong notification có 3 phần chính là:

1. Tiêu đề: điền khi bắt đầu khai báo hàm "new Notification".

2. Nội dung: là giá trị của body trong mảng.

3. Hình đại diện: là giá trị của icon trong mảng.

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
	</head>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
	<script>
		$(document).ready(function() {
			if (Notification.permission !== "granted")
				Notification.requestPermission();
		});
		function notifyMe() {
			if (!window.Notification) {
				console.log('Browser does not support notifications.');
			} else {
				// kiểm tra quyền được gửi notification
				if (Notification.permission === 'granted') {
					// hiển thị thông báo khi đã cấp quyền
					var notify = new Notification('Xin chào!', {
						body: 'Bạn vừa mới cấp quyền gửi thông báo!',
						icon: 'https://agitech.com.vn/images/logo-agitech.png',
					});
				} else {
					// Kiểm tra quyền trước khi được gửi thông báo
					Notification.requestPermission().then(function (p) {
						if (p === 'granted') {
							// hiển thị thông báo
							var notify = new Notification('Xin chào!', {
								body: 'Bạn cần hỗ trợ gì?',
								icon: 'https://agitech.com.vn/images/logo-agitech.png',
							});
						} else {
							console.log('User blocked notifications.');
						}
					}).catch(function (err) {
						console.error(err);
					});
				}
			}
		}
	</script>
	<body>
		<button onclick="notifyMe()">Notify Me</button>
	</body>
</html>

Khi trình duyệt truy cập vào trang sẽ có thông báo yêu cầu bật cho phép trang gửi thông báo.

Các bạn lưu ý là trang phải có SSL (sử dụng đường dẫn HTTPS) mới có thể gửi thông báo.

Nếu các bạn dang chạy dưới localhost thì sẽ không yêu cầu phải có SSL. Để cấp quyền cho trang được phép gửi thông báo trên trình duyệt bằng cách click vào "Allow for this site" như hình sau:

cap quyen thong bao

Khi click vào nút "Notify Me" bạn sẽ nhận thông báo như hình:

mau nhan thong bao

Hy vọng bài viết này giúp cho các bạn đang cần sử dụng để xây dựng trang web của mình thêm tinh tế và chuyên nghiệp hơn.

Chúc các bạn thành công!

Chia sẻ: Ngụy Kim Hưng

Hướng dẫn tự động sao lưu cơ sở dữ liệu (database) định kỳ trên host Linux

huong tu dong sao luu database

Trong bài viết này tôi sẽ chia sẻ cho các bạn đang quản lý hosting Linux muốn tự dộng sao lưu cơ sở dữ liệu database định kỳ (mỗi ngày, mỗi tuần, mỗi tháng,...). Thường thì một số hosting có sẵn chức năng backup để sao lưu định kỳ không chỉ database mà còn sao lưu luôn cả source web. Nhưng đỗi với một trang có nguồn tài nguyên quá lớn thì cách sao lưu cả source web sẽ làm tốn bộ nhớ của host hoặc khi sao lưu sẽ ảnh thưởng đến web dang hoạt động.

Dưới đây sẽ là cách giúp bạn chỉ sao lưu cơ sở dữ liệu mỗi ngày.

Bước 1: Tạo 1 file backup.sh trên đường dẫn thư mục của user "/home/user/backup.sh". Sao chép nội dung bên dưới vào file và nhập cấu hình thông tin sao lưu database và lưu lại.

# Thông tin Database
 user="Tên user database"
 password="Mật khẩu user database"
 db_name="Tên database"
# Đường dẫn lưu file sao lưu và thời gian để tạo tên file
 backup_path="/home/user/backup"
 date=$(date +"%d-%m-%Y")
# Cấu hình quyền file được tạo
 umask 177
# Lệnh chạy sao lưu thành file .gz
 mysqldump -u $user -p$password $db_name | gzip > $backup_path/$db_name-$date.sql.gz

# Xóa các file sao lưu quá 30 ngày
# find $backup_path/* -mtime +30 -exec rm {} \;

Bước 2: Cấu hình Cronjob thêm dòng lệnh command sau với thời gian muốn sao lưu định kỳ:

bash /home/user/backup.sh

Tham khảo thời gian cấu hình chạy lệnh command hình bến dưới,

thoi gian scronjob

Chúc các bạn thành công!

Chia sẻ: Ngụy Kim Hưng