CHINH PHỤC
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Đăng nhập

Ghi nhớ
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

Go down

[PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian Empty [PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian

Bài gửi by Exterminator 17/2/2016, 2:17 pm

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 :

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

[PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian 13ye6ir

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é Vui tạo  mấy mod này cho giới FM mình vui thôi Vui Chứ đòi code chuyên nghiệp hơn thì họ đã không xài FM rồi Vui

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é ^^
Exterminator
Exterminator
CPPurpleMember
CPPurpleMember

Firefox PunBB
Ngày đăng ký : 10/11/2008
Số bài : 676
CPP : 833
Châm ngôn sống : Sống cho đáng sống là một con người.

http://www.windowsviet.com

Về Đầu Trang Go down

[PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian Empty Re: [PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian

Bài gửi by subin217 18/2/2016, 12:28 pm

Lâu rồi FM mới có mod hay, cảm ơn anh
subin217
subin217
CPMember
CPMember

Chrome Invision
Ngày đăng ký : 07/02/2014
Số bài : 414
CPP : 169
Châm ngôn sống : Kéo quân qua đánh JavaScript và JQuery

http://vn.doraeiga.cf/

Về Đầu Trang Go down

[PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian Empty Re: [PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian

Bài gửi by Larva 18/2/2016, 12:40 pm

ôi skin 1 thời ao ước h mới thấy lại được 😂
Larva
Larva
CPMember
CPMember

Chrome Invision
Ngày đăng ký : 02/09/2012
Số bài : 489
CPP : 224
Châm ngôn sống : Cùng nhau rip tất cả skin chúng nó :))

http://zgamevn.5forum.net

Về Đầu Trang Go down

[PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian Empty Re: [PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian

Bài gửi by baivong 18/2/2016, 7:28 pm

Trong fm có sẵn 2 hàm my_getcookiemy_setcookie rồi, dùng nó luôn cho tiện.
baivong
baivong
CPYellowMember
CPYellowMember

Firefox Invision
Ngày đăng ký : 02/04/2010
Số bài : 3114
CPP : 1212
Châm ngôn sống : Sống để được chết một lần.

http://devs.forumvi.com

Về Đầu Trang Go down

[PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian Empty Re: [PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian

Bài gửi by Exterminator 28/2/2016, 1:05 pm

hóng-er đã viết:Trong fm có sẵn 2 hàm my_getcookiemy_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.
Exterminator
Exterminator
CPPurpleMember
CPPurpleMember

Firefox PunBB
Ngày đăng ký : 10/11/2008
Số bài : 676
CPP : 833
Châm ngôn sống : Sống cho đáng sống là một con người.

http://www.windowsviet.com

Về Đầu Trang Go down

[PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian Empty Re: [PHPBB2] MOD Nhắc nhở có tin nhắn mới theo thời gian

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết