मीडियाविकि:Common.js/watchlist.js

विकिपुस्तक से

ध्यान दें: प्रकाशित करने के बाद बदलाव देखने के लिए आपको अपने ब्राउज़र के कैश को हटाना पड़ सकता है।

  • Firefox/Safari: Reload क्लिक समय Shift दबाएँ, या फिर Ctrl-F5 या Ctrl-R दबाएँ (Mac पर ⌘-R)
  • Google Chrome: Ctrl-Shift-R दबाएँ (Mac पर ⌘-Shift-R)
  • Internet Explorer/Edge: Refresh पर क्लिक करते समय Ctrl दबाएँ, या Ctrl-F5 दबाएँ
  • Opera: Ctrl-F5 दबाएँ।
 /** Add dismiss buttons to watchlist-message *************************************
  *
  *  Description: Allows multiple dismiss buttons on [[MediaWiki:Watchlist-details]] with bump-able cookie IDs.
  *  Note: HTML is backwards compatible with old version, new version ignores old syntax, except for dismissed IDs.
  *  Maintainers: [[User:Ruud Koot|Ruud Koot]], [[User:MZMcBride|MZMcBride]]
  */

 function addDismissButton() {
   var docobj = document.getElementById('bodyContent') || document.getElementById('content') || document
   var watchItems = getElementsByClassName(docobj, 'div', 'watchlist-message');
   if(watchItems.length == 0) return
   for(var i=0;i<watchItems.length;i++) {
     var watchlistCookieID = parseInt(watchItems[i].className.replace(/.*cookie\-ID\_(\d*).*/ig,'$1'));
     if(isNaN(watchlistCookieID)) continue
     if(document.cookie.indexOf('hidewatchlistmessage-' + watchlistCookieID + '=yes') != -1) {
       watchItems[i].style.display = 'none';
       continue;
     }
     var Button     = document.createElement('span');
     var ButtonLink = document.createElement('a');
     var ButtonText = document.createTextNode('dismiss');

     ButtonLink.setAttribute('id','dismissButton');
     ButtonLink.setAttribute('href','javascript:dismissWatchlistMessage(' + i + ',' + watchlistCookieID + ')');
     ButtonLink.setAttribute('title','Hide this message');
     ButtonLink.appendChild(ButtonText);

     Button.appendChild(document.createTextNode('['));
     Button.appendChild(ButtonLink);
     Button.appendChild(document.createTextNode(']'));
     watchItems[i].appendChild(Button);
   }
 }

 function dismissWatchlistMessage(num,cid) {
   var docobj = document.getElementById('bodyContent') || document.getElementById('content') || document
   var watchItems = getElementsByClassName(docobj, 'div', 'watchlist-message');
   watchItems[num].style.display = 'none';

   var e = new Date();
   e.setTime( e.getTime() + (4*7*24*60*60*1000) );
   document.cookie = 'hidewatchlistmessage-' + cid + '=yes; expires=' + e.toGMTString() + '; path=/';
 }
 $(addDismissButton);