Đăng nhập
Latest topics
» Tôi sẽ đỗ đại học!by nightWalker 9/2/2024, 7:00 pm
» Kỷ niệm xưa của chúng ta
by nightWalker 9/2/2024, 6:49 pm
» Bị lệch khung cần người giúp đỡ
by webhuy28 7/10/2021, 10:34 pm
» [HỎI ĐÁP] Danh sách bạn bè không thể hiển thị
by anhdaodaica1 2/10/2021, 10:04 pm
» [HỎI ĐÁP] Thông tin tài khoản không thể lưu thay đổi
by anhdaodaica1 2/10/2021, 6:05 am
» Phim bố già full
by huy.pc52 24/8/2021, 12:20 am
» Xin code Box HTML cho Forumvi
by Larva 1/7/2021, 12:57 pm
» Hello Anh Em Chinh phục
by HoàngTửNaivip5p 28/5/2021, 5:03 am
» Trang chủ tin tức cập nhật HOT 2016
by kenbi05 1/1/2020, 11:02 pm
» Không Dang9 bài viết = hình ảnh được
by huy.pc52 30/11/2019, 10:52 am
» CHÚC ANH EM NĂM MỚI VUI VẺ TRÀNG ĐẦY HẠNH PHÚC
by sps.kủn 12/2/2019, 1:16 pm
» Skin CNTT-K3 2015 (Full Mod)[✔]
by kenbi05 6/7/2018, 12:30 am
» baivong, handsome,....
by sps.kủn 29/6/2018, 1:54 pm
» [SHARE] SKIN ĐHFM.V7 @PUNBB
by tonyhoaivu 2/5/2018, 2:37 pm
» Share Skin Xanh Dương Cùi Bắp
by tonyhoaivu 28/4/2018, 5:57 pm
» Xin Skin http://v1.hotrofm.net/
by tonyhoaivu 28/4/2018, 5:45 pm
» Xin Skin Rao Vặt
by tonyhoaivu 15/4/2018, 12:07 pm
» Làm Sao Để Xóa Khung Này
by tonyhoaivu 14/4/2018, 7:18 pm
» [Lập nhóm]Lập nhóm fm
by vietkanpy 31/3/2018, 11:53 am
» [Help] về server úp ảnh của phutu [✔]
by baivong 17/3/2018, 10:18 pm
» Đừng khóc cho “tôi – Chinh Phục!”…
by AnHung 27/2/2018, 5:33 pm
» [Share] Skin Diendandaihoc.com [ Punbb ] [✔]
by Lu Mờ 13/2/2018, 7:28 pm
» Mời mấy thím vào groups Forumotion Việt Nam.
by dang02315 13/2/2018, 12:40 am
» Có thể làm các kiểu giao diện được không?
by Lu Mờ 9/2/2018, 3:40 pm
» ltns chinhphuc.info
by Shinichi Kudo 27/1/2018, 2:27 am
Top posting users this week
No user |
[PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian
4 posters
Trang 1 trong tổng số 1 trang
[PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian
Theo như mặc định sẵn của chức năng thông báo có tin nhắn inbox của FM thì hầu như đều bị các trình duyệt block lại bởi thiết lập bảo mật mặc định của trình duyệt.
Cũng đã có bạn chia sẻ cách hiện thông báo riêng bằng một Dialog tự tạo ra :
Tuy rằng vấn đề bị block bởi trình duyệt đã không còn nữa, nhưng vẫn còn 2 vấn đề sau :
1/ - Nếu người dùng không đọc tin nhắn, thì tin nhắn chỉ được hiện duy nhất 1 lần đầu tiên kể từ khi có tin mới.
2/ - Đối với những diễn đàn nào có thiết lập gởi tin nhắn chào mừng thành viên mới đăng ký, thì khi thành viên mới đăng ký tham gia diễn đàn, đăng nhập lần đầu tiên, thì thông báo cũng không được hiện ra.
3/ - Chưa hiện được có bao nhiêu tin nhắn mới.
Nên để giải quyết tổng cộng 3 vấn đề trên, lúc rảnh rỗi ngồi viết chút code chia sẻ cho các bạn.
1/ - Không bị block bởi thiết lập bảo mật của trình duyệt.
2/ - Sau khi hiện thông báo lần đầu tiên, nếu người dùng không đọc tin nhắn mà chỉ đóng bảng thông báo lại, thì sau 5 phút sẽ lại hiện ra lần nữa.
3/ - Thành viên mới đăng ký và đăng nhập lần đầu cũng hiện thông báo luôn.
4/ - Hiện số tin nhắn mới trong dialog.
Demo :
Cho code vào overall_header nhé :
Javascript :
Trong overall_header, tìm đoạn liên quan đến tag này thì xoá đi nhé.
CSS :
Nguyên lý của code là lưu vào cookies với thời gian hết hạn là sau 5 phút. Nên mỗi lần load lại trang thì mình sẽ đọc cookies này để kiểm tra.
Bạn nào cần chỉnh thời gian lâu hơn 5 phút thì sửa chỗ này nhé :
Và sửa lại tên cookies muốn lưu theo ý của bạn nhé :
P/s : đừng suy nghĩ quá hàn lâm khi lưu vào cookies thì không bảo mật này nọ làm chi bạn nhé tạo mấy mod này cho giới FM mình vui thôi Chứ đòi code chuyên nghiệp hơn thì họ đã không xài FM rồi
P/s 2 : Mình viết hết sức đơn giản để anh em có thể đọc được rồi nhé. Cố gắng tìm hiểu code để đọc hiểu và đem về chỉnh sửa xài cho hợp forum của mình cho an toàn nhé ^^
Cũng đã có bạn chia sẻ cách hiện thông báo riêng bằng một Dialog tự tạo ra :
- Code:
http://giupdo.forum-viet.com/t30015-topic
Tuy rằng vấn đề bị block bởi trình duyệt đã không còn nữa, nhưng vẫn còn 2 vấn đề sau :
1/ - Nếu người dùng không đọc tin nhắn, thì tin nhắn chỉ được hiện duy nhất 1 lần đầu tiên kể từ khi có tin mới.
2/ - Đối với những diễn đàn nào có thiết lập gởi tin nhắn chào mừng thành viên mới đăng ký, thì khi thành viên mới đăng ký tham gia diễn đàn, đăng nhập lần đầu tiên, thì thông báo cũng không được hiện ra.
3/ - Chưa hiện được có bao nhiêu tin nhắn mới.
Nên để giải quyết tổng cộng 3 vấn đề trên, lúc rảnh rỗi ngồi viết chút code chia sẻ cho các bạn.
1/ - Không bị block bởi thiết lập bảo mật của trình duyệt.
2/ - Sau khi hiện thông báo lần đầu tiên, nếu người dùng không đọc tin nhắn mà chỉ đóng bảng thông báo lại, thì sau 5 phút sẽ lại hiện ra lần nữa.
3/ - Thành viên mới đăng ký và đăng nhập lần đầu cũng hiện thông báo luôn.
4/ - Hiện số tin nhắn mới trong dialog.
Demo :
- Code:
http://windows.forumvi.com
Cho code vào overall_header nhé :
Javascript :
- Code:
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
}
return "";
}
function setNewMsgCookies(newMsg) {
var date = new Date();
date.setTime(date.getTime() + (5 * 60 * 1000));
document.cookie="fa_windows_forumvi_com_newmsg=" + newMsg + "; expires=" + date.toGMTString() + "; path=/";
}
function ShowNewMessageDialog() {
$('body').append("<div id='div_mask'>" +
"<div class='gensmall' id='div_alert_msg'><div id='alert_msg_header'>Có Tin Nhắn Mới</div>" +
"<hr class='hr_view_topic' />" +
"<div id='alert_msg_content'>" +
"<span>Bạn có <span class='count_msg'>" + $("a.mainmenu[href='/privmsg?folder=inbox'] strong").text() + "</span> tin nhắn mới. Vui lòng kiểm tra <a href='/privmsg?folder=inbox'><b>Hộp Tin Nhắn</b></a>.</span>" +
"<br /><br />" +
"<span><a href='#' onclick='$("#div_mask").remove();return false;'>Đóng</a></span>" +
"</div>" +
"</div>" +
"</div>");
}
$(document).ready(function(){
var newMsg = $("a.mainmenu[href='/privmsg?folder=inbox'] strong").text();
if (newMsg != "") {
var saveNewMsg = getCookie("fa_windows_forumvi_com_newmsg");
if (saveNewMsg == "" || (saveNewMsg != "" && saveNewMsg != newMsg)) {
setNewMsgCookies(newMsg);
ShowNewMessageDialog();
}
} else {
setNewMsgCookies("");
}
}
Trong overall_header, tìm đoạn liên quan đến tag này thì xoá đi nhé.
- Code:
<!-- BEGIN switch_enable_pm_popup -->
・
・
・
<!-- END switch_enable_pm_popup -->
CSS :
- Code:
#div_mask {
background:rgba(0,0,0,0.75);
position:fixed;
height:100%;
width:100%;
top:0;
left:0;
}
#div_mask #div_alert_msg {
background:#fff;
border:1px solid #E0E0E0;
height:auto;
margin:45px auto;
overflow:hidden;
width:400px;
text-align:center;
z-index: 999;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
font-family:Verdana,Arial,Helvetica,sans-serif;
}
#div_mask #div_alert_msg #alert_msg_header {
padding-top:10px;
color:green;
font-weight:bold;
}
#div_mask #div_alert_msg #alert_msg_content {
padding:10px;
}
#div_mask #div_alert_msg #alert_msg_content .count_msg {
color:#ff0000;
font-weight:bold;
}
Nguyên lý của code là lưu vào cookies với thời gian hết hạn là sau 5 phút. Nên mỗi lần load lại trang thì mình sẽ đọc cookies này để kiểm tra.
Bạn nào cần chỉnh thời gian lâu hơn 5 phút thì sửa chỗ này nhé :
- Code:
date.setTime(date.getTime() + (5 * 60 * 1000));
Và sửa lại tên cookies muốn lưu theo ý của bạn nhé :
- Code:
fa_windows_forumvi_com_newmsg
P/s : đừng suy nghĩ quá hàn lâm khi lưu vào cookies thì không bảo mật này nọ làm chi bạn nhé tạo mấy mod này cho giới FM mình vui thôi Chứ đòi code chuyên nghiệp hơn thì họ đã không xài FM rồi
P/s 2 : Mình viết hết sức đơn giản để anh em có thể đọc được rồi nhé. Cố gắng tìm hiểu code để đọc hiểu và đem về chỉnh sửa xài cho hợp forum của mình cho an toàn nhé ^^
Re: [PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian
Trong fm có sẵn 2 hàm my_getcookie và my_setcookie rồi, dùng nó luôn cho tiện.
Re: [PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian
hóng-er đã viết:Trong fm có sẵn 2 hàm my_getcookie và my_setcookie rồi, dùng nó luôn cho tiện.
Ồ! Lâu rồi mình không xài đến FM nên không biết có những hàm này rồi.
Similar topics
» [Thắc mắc] Code thay đổi nội dung theo thời gian (giây)
» [FMvi-group] Tùy chọn sắp xếp bài viết theo thời gian và hơn thế nữa với tablesorter
» [Thắc mắc] Code tuyết bay theo chiều gió (bay theo con trỏ chuột)
» [Thắc mắc] Áp dụng kiểu thời gian mới không được???~
» Mr. Pig - chú heo gian xảo
» [FMvi-group] Tùy chọn sắp xếp bài viết theo thời gian và hơn thế nữa với tablesorter
» [Thắc mắc] Code tuyết bay theo chiều gió (bay theo con trỏ chuột)
» [Thắc mắc] Áp dụng kiểu thời gian mới không được???~
» Mr. Pig - chú heo gian xảo
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|