Thành viên:Vietbio/monobook.js
Giao diện
Chú ý: Sau khi lưu thay đổi trang, bạn phải xóa bộ nhớ đệm của trình duyệt để nhìn thấy các thay đổi. Google Chrome, Firefox, Internet Explorer và Safari: Giữ phím ⇧ Shift và nhấn nút Reload/Tải lại trên thanh công cụ của trình duyệt. Để biết chi tiết và hướng dẫn cho các trình duyệt khác, xem Trợ giúp:Xóa bộ nhớ đệm.
/* <nowiki>*///************************* wikiEd editor ****************************************//install [[User:Cacycle/wikEd]] in-browser text editordocument.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js' + '&action=raw&ctype=text/javascript"></' + 'script>');//install the Vietnamese translation for [[:en:User:Cacycle/wikEd]]importScript('User:Vinhtantran/wikEd_international_vi.js');//***********************************************************************************//******************** [[:en:User:Voice of All]] skin *******************************//First loadsimportScript('User:Vinhtantran/Addtabs/monobook.js');importScript('User:Vinhtantran/UTCclock.js');importScript('User:Vinhtantran/replacetxt.js');//mass toolsimportScript('User:Vinhtantran/Adminwarnings/monobook.js');importScript('User:Vinhtantran/Protection/monobook.js');importScript('User:Vinhtantran/Specialadmin/monobook.js');importScript('User:Vinhtantran/History/monobook.js')//crat stuff//importScript('User:Vinhtantran/Bureaucrat/monobook.js');//CU stuff//importScript('User:Vinhtantran/CheckUser/monobook.js');//BAG stuffimportScript('User:Vinhtantran/Approvals.js');//rollbackimportScript('User:Vinhtantran/Revert.js');//New pages toolsimportScript('User:Vinhtantran/Sleeper/monobook.js');importScript('User:Vinhtantran/Deletion/monobook.js');importScript('User:Vinhtantran/Google/monobook.js');//Toolbox linksfunction changelinks(){ if(!document.getElementById) return; var toplinks = document.getElementById('p-personal').getElementsByTagName('ul')[0]; var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; if (document.title.indexOf('Thành viên:' + user_name + '/xml') != -1 || document.title.indexOf('Thành viên:' + user_name + '/XML') != -1) {addlilink(toplinks, 'javascript:XMLrequestprompt()', 'Request XML', 'Request XML');} if(document.getElementById('ca-delete')) {document.getElementById('ca-delete').firstChild.innerHTML = '<strong><span style="color:darkred;">delete</span></strong>';} }function navigationlinks(){ addnavbox_link('/wiki/Wikipedia:Tin nhắn cho bảo quản viên','Tin nhắn BQV','AN-ln'); addnavbox_link('/wiki/Wikipedia:Yêu cầu khóa hay mở khóa trang','Yêu cầu khóa','rfpp-ln'); addnavbox_link('/wiki/Thể loại:Hình thiếu thông tin về bản quyền','Hình thiếu BQ','aiv-ln'); addnavbox_link('/wiki/Thể loại:Chờ xoá','Chờ xóa','speedy-ln'); }function addtoolboxlinks(){ var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0]; addlilink(tb, '/wiki/Đặc biệt:Newpages', 'Các trang mới nhất', ''); addlilink(tb, '/wiki/Đặc biệt:Log/newusers', 'Các thành viên mới nhất', ''); addlilink(tb, '/wiki/Đặc biệt:Protectedpages', 'Các trang bị khóa', '');}$(Mainfast)function Mainfast() {userlogs();changelinks();navigationlinks();addtoolboxlinks();}window.onload = Main;function Main() { watchlist_tab(); block_check(); lastdiff(); addtoplink();}//END//************//USER TABSfunction userlogs(){// no subpages or history if (document.title.search("/") != -1 || location.href.search(/%C4%90%E1%BA%B7c_bi%E1%BB%87t:|&action=[^p]|&diff=/) !=-1) {return;} if (document.title.indexOf("Thành viên:") == 0 || document.title.indexOf("Thảo luận Thành viên:") == 0) { username_a = document.URL.match(/:.*:(.*)/); username=username_a[1]; addTab("http://vi.wikipedia.org/w/index.php?title=%C4%90%E1%BA%B7c_bi%E1%BB%87t%3ALog&type=block&user=&page=Th%C3%A0nh_vi%C3%AAn:" + username, "log", "ca-blog", "Nhật trình khóa", ""); addTab("http://tools.wikimedia.de/~interiot/cgi-bin/Tool1/wannabe_kate?username=" + username + "&site=vi.wikipedia.org", "info", "ca-kate", "Thông tin thành viên", ""); }}//LAST DIFF TABfunction lastdiff() { if (document.title.indexOf("Sửa đổi ") != -1 || !document.getElementById('ca-history') || location.href.search(/&action=history/) !=-1) return; var pname=wgPageName.replace(/&/g,'%26').replace(/\\+/g, '%2B'); addTab(wgServer + "/w/index.php?title=" + pname + "&diff=cur&oldid=prev", "cuối", "ca-diff", "Thay đổi gần nhất", "");}//This will add an [edit top] link at the top of all pages except preview pagesfunction addtoplink(){ var edittop = '<span style="color:black;">[</span>sửa đầu<span style="color:black;">]</span>'; // if this is preview page or generated page, stop if(document.getElementById("wikiPreview") || wgNamespaceNumber ==-1) return; if(document.title.indexOf("Trang Chủ") != -1) return; // get the page title var pageTitle = document.title.split(" – ")[0].replace(" ", "_"); // create div and set innerHTML to link var divContainer = document.createElement("div"); divContainer.innerHTML = '<div class="editsection" style="float:right;margin-left:5px;margin-right:130px;margin-top:3px;"><a href="/w/index.php?title='+pageTitle+'&action=edit§ion=0" title="'+document.title.split(" – ")[0]+'">' + edittop + '</a></div>'; // insert divContainer into the DOM before the h1 if (document.getElementById("content") !=undefined) { document.getElementById("content").insertBefore(divContainer, document.getElementsByTagName("h1")[0]);}}function watchlist_tab(){ if (location.href.indexOf('Đặc biệt:Watchlist/edit') !=-1) {addTab("javascript:watchlist_clean()", "xem trang đã xóa", "ca-clean", "kiểm tra tất cả trang đã xóa", "");}}function watchlist_clean(){// monobook if (document.getElementById('bodyContent')) { var body = document.getElementById('bodyContent'); }// cologneblue else if (document.getElementById('quickbar')) { if (!document.getElementById('content')){return;} var body = document.getElementById('content'); } var l = body.getElementsByTagName('li'); for (var i=0; i<l.length; i++) { if (l[i].getElementsByTagName('a')[0].href.indexOf('&action=') !=-1) {l[i].getElementsByTagName('input')[0].checked=true;} }}function block_check(){ if (document.title.indexOf('Cấm thành viên') !=0){return;} //monobook if (document.getElementById('pt-userpage')) {var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML;} //cologneblue else if (document.getElementById('quickbar') && document.getElementById('quickbar').getElementsByTagName('h6')[0]) { var toplinks = document.getElementById('quickbar'); var user_name = toplinks.innerHTML.split('<h6>Trang của tôi</h6>')[1].split('title="Thành viên:')[1].split('"')[0]; } if (document.getElementsByTagName('input')[0].value == user_name) {alert('Bạn có chắc là bạn muốn cấm chính mình?');} else if (document.getElementsByTagName('input')[0].value == user_name.replace(/ /g,'_')) {alert('Bạn có chắc là bạn muốn cấm chính mình?');}}$(Dfn_js_con)function Dfn_js_con(){ Mvaluejs_class = 'DMalak1'; Rvaluejs_class = 'ERollen2'; Uvaluejs_class = 'DRaven2';}//*******************Interiot's javascript edit counter******************************************************if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) { document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); }//****************************************************************************************************function XMLrequestprompt(){ var parameters = ''; var type = 'GET'; var url = location.href; url = prompt('Gõ vào URL:'); parse_js_value_cache = 0; parse_js_value_cache = prompt('Trích rút dữ liệu?' + '\n' + '0 - không (mặc định)' + '\n' + '1 - có (không script/SRC/hình)' + '\n' + '2 - có (không script/SRC)' + '\n' + '3 - có (cho phép script/hình)'); if (parse_js_value_cache != 0 && parse_js_value_cache != 1 && parse_js_value_cache != 2 && parse_js_value_cache != 3){return;} if (!url || url == ''){return;} makeRequestXML(url, parameters,type);}function alertContents(){ if (http_request.readyState != 4) return; body = document.getElementById('bodyContent'); if (body && parse_js_value_cache == 3) { document.getElementsByTagName('title')[0].innerHTML = "Yêu cầu XML:"; body.innerHTML = '<strong>Mã XML trả về:</strong><br>' + http_request.responseText; } else if (body && parse_js_value_cache == 2) { document.getElementsByTagName('title')[0].innerHTML = "Yêu cầu XML:"; var xml = http_request.responseText.replace(/<.script>/gi,'`</script>'); body.innerHTML = '<strong>Mã XML trả về:</strong><br>' + xml.replace(/<script [^`]+`<.script>/gi,'').replace(/(<\w* onload=["'][^<]+["']>)/gi,'').replace(/(\src=["'][^<]+["']>)/gi,' src="">'); } else if (body && parse_js_value_cache == 1) { document.getElementsByTagName('title')[0].innerHTML = "Yêu cầu XML:"; var xml = http_request.responseText.replace(/<.script>/gi,'`</script>'); body.innerHTML = '<strong>Mã XML trả về:</strong><br>' + xml.replace(/<script [^`]+`<.script>/gi,'').replace(/(<\w* onload=["'][^<]+["']>)/gi,'').replace(/(<img [^<]+>)/gi,'').replace(/(\src=["'][^<]+["']>)/gi,' src="">'); } else if (body && parse_js_value_cache == 0) { document.getElementsByTagName('title')[0].innerHTML = "Yêu cầu XML:"; var xml = http_request.responseText.replace(/<.script>/gi,'`</script>'); xml = xml.replace(/(<a href=["'][^<]+<.a>)/gi,'%parenST|span style="background-color: yellow"|%parenEN$1%parenST|/span|%parenEN').replace(/(<img [^<]+>)/gi,'%parenST|span style="background-color: lightgreen"|%parenEN$1%parenST|/span|%parenEN').replace(/(<iframe [^<]+<.iframe>)/gi,'%parenST|span style="background-color: lightgreen"|%parenEN$1%parenST|/span|%parenEN').replace(/(<script [^`]+)`<.script>/gi,'%parenST|span style="background-color: #FF9900"|%parenEN$1</script>%parenST|/span|%parenEN').replace(/(<\w* onload=["'][^<]+["']>)/gi,'%parenST|span style="background-color: #FF9900"|%parenEN$1%parenST|/span|%parenEN').replace(/\s(src=["'][^<]+["'])>/gi,'%parenST|span style="background-color: #FF3300"|%parenEN $1>%parenST|/span|%parenEN'); body.innerHTML = '<strong>Mã XML trả về:</strong><br>' + xml.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/%parenST\|/g,'<').replace(/\|%parenEN/g,'>'); }}//security override HTTP request//ALSO, reduce IE security settings//For FF/NS, go enable, see "http://esw.w3.org/topic/SparqlCalendarDemoUsage#FAQ"//Basically, enable "signed.applets.codebase_principal_support" in about:config function makeRequestXML(url, parameters,type,parse) { if(window.XMLHttpRequest) { try {netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); } catch (e) {alert("Xin phép UniversalBrowserRead bị từ chối."); } http_request = false; http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) {http_request.overrideMimeType('text/xml'); } if (!http_request) {alert('Không thể tạo thực thể XMLHTTP'); return false; } http_request.onreadystatechange = alertContents; http_request.open(type, url + parameters, true); http_request.send(null); } else if (window.ActiveXObject) { try {http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) { try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e){} } if (!http_request) {showError(ERROR_XML);} http_request.onreadystatechange = alertContents; http_request.open(type, url + parameters, true); http_request.send(null); }}//addPurge$(function () { var hist; var url; if (!(hist = document.getElementById('ca-history') )) return; if (!(url = hist.getElementsByTagName('a')[0] )) return; if (!(url = url.href )) return; mw.util.addPortletLink('p-cactions', url.replace(/([?&]action=)history([&#]|$)/, '$1purge$2'), 'purge', 'ca-purge', 'Tẩy bộ nhớ đệm', '0');});//******************************[[User:Lupin/popupsdev.js]] - please include this line document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popupsdev.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');popupShortcutKeys=true; // optional: enable keyboard shortcutspopupAdminLinks=true; // optional: enable admin links [[Category:VoA scripted admins]]popupSubpopups=false;popupOnEditSelection=false;popupStructure='shortmenus';popupFixRedirs=true;popupRedlinkRemoval=true;popupFixDabs=true;popupAllDabsStubs=true;imagePopupsForImages=false;//Tiếng ViệtimportScript('User:Vinhtantran/strings-vi.js');//********************************************************************// Live Preview wpShowImages = true;mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Pilaf/livepreview.js&action=raw&ctype=text/javascript');window.onload = Main;function Main(){ LivePreviewInstall();}// Vietnamese Input Method//document.write('<script type="text/javascript" src="http://rhos.sourceforge.net/pro/him.js"></script>');//document.write('<script type="text/javascript" //src="http://vi.wikipedia.org/w/index.php?title=User:Tttrung/ahim.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');//function Main()//{ method = 1; on_off = 1; dockspell = 0; dauCu = 0;// HIM();//}//window.onload = Main;var mpTitle = "Wikipedia:WikiProject Usability/Main Page/Draft";var isMainPage = (document.title.substr(0, mpTitle.length) == mpTitle)if (isMainPage) {document.write('<style type="text/css"> #siteSub, #contentSub { display: none!important; } #content, #content div.thumb, #p-cactions li a, #p-cactions li a:hover, #p-cactions li.selected a { background: #fff!important; } </style>');var mpSmallEnabled;var mpMinWidth = 700;function mainPageTransform(){ var mpContentEl = document.getElementById("bodyContent"); var mpBrowseEl = document.getElementById("EnWpMpBrowse"); var mpContainEl = document.getElementById("EnWpMpBrowseContainer"); var mpMarginEl = document.getElementById("EnWpMpMargin"); var mpEl = document.getElementById("EnWpMainPage"); if (!mpContentEl || !mpBrowseEl || !mpContainEl || !mpMarginEl || !mpEl) return; if (!mpSmallEnabled && mpContentEl.offsetWidth < mpMinWidth) { mpContainEl.insertBefore(mpBrowseEl, mpContainEl.firstChild); mpBrowseEl.className = "EnWpMpBrowseBottom"; mpMarginEl.style.marginRight = 0; mpSmallEnabled = true; } else if (mpSmallEnabled && mpContentEl.offsetWidth > mpMinWidth) { mpEl.insertBefore(mpBrowseEl, mpEl.firstChild); mpBrowseEl.className = "EnWpMpBrowseRight"; mpMarginEl.style.marginRight = "13.8em"; mpSmallEnabled = false; }}var onloadFuncts = [ mainPageTransform ];if (window.addEventListener) window.addEventListener("resize", mainPageTransform, false);else if (window.attachEvent) window.attachEvent("onresize", mainPageTransform);}/* Bottom tabs *//* function morelinks() { var tabs = document.getElementById('p-cactions').cloneNode(true); tabs.id = 'mytabs'; var listitems = tabs.getElementsByTagName('LI'); for (i=0;i<listitems.length;i++) { if(listitems[i].id) listitems[i].id = 'mytabs-' + listitems[i].id; } document.getElementById('column-content').appendChild(tabs);}addLoadEvent(morelinks); *//* [[:en:Wikipedia:WikiProject User scripts/Scripts/Fix diff width|Fix diff width]] */function FixDiffWidth() { var diffSigns = new Array(); var fixDiffWidth = function () { var tables = document.getElementsByTagName('table'); for (var i = 0; i < tables.length; i++) if (tables[i].className == 'diff') { var rows = tables[i].getElementsByTagName('tr'); var diffDiv = document.createElement('div'); diffDiv.style.backgroundColor = 'white'; diffDiv.className = 'xdiff'; for (var j = 0; j < rows.length; j++) { var rowDiv = document.createElement('div'); rowDiv.style.width = '100%'; rowDiv.style.margin = '0 0 3px 0'; rowDiv.style.overflow = 'hidden'; // trick, makes it expand vertically to contain floats rowDiv.className = 'xdiff-row'; var colDiv = null; var cols = rows[j].getElementsByTagName('td'); for (var k = 0; k < cols.length; k++) { if (!colDiv) { colDiv = document.createElement('div'); colDiv.style.cssFloat = 'left'; colDiv.style.clear = 'none'; colDiv.style.position = 'relative'; colDiv.style.width = '49%'; colDiv.className = 'xdiff-col'; rowDiv.appendChild(colDiv); } var innerDiv = document.createElement('div'); if (cols[k].getAttribute('colspan') == 2 || cols[k].className.substring(0,5) == 'diff-') { innerDiv.style.overflow = 'auto'; // scroll if necessary! innerDiv.style.padding = '1px'; if (cols[k].getAttribute('colspan') != 2) { innerDiv.style.margin = '0 0 0 2em'; innerDiv.style.fontSize = '85%'; // from MediaWiki:Monobook.css if (cols[k].className == 'diff-addedline') innerDiv.style.backgroundColor = '#cfc'; if (cols[k].className == 'diff-deletedline') innerDiv.style.backgroundColor = '#ffa'; if (cols[k].className == 'diff-context') innerDiv.style.backgroundColor = '#eee'; } innerDiv.style.textAlign = cols[k].getAttribute('align'); innerDiv.className = (cols[k].className ? "x"+cols[k].className : ""); } else if (cols[k].firstChild && (cols[k].firstChild.nextSibling || cols[k].firstChild.nodeType != 3 || cols[k].firstChild.nodeValue.match(/\S/))) { innerDiv.style.width = '2em'; innerDiv.style.textAlign = 'center'; innerDiv.style.position = 'absolute'; innerDiv.className = 'xdiff-sign'; diffSigns.push(innerDiv); } else continue; for (var node = cols[k].firstChild; node; node = node.nextSibling) innerDiv.appendChild(node.cloneNode(true)); innerDiv.appendChild(document.createTextNode(String.fromCharCode(0xa0))); // add nbsp colDiv.appendChild(innerDiv); if (innerDiv.className != 'xdiff-sign') colDiv = null; // start new columns } // force rowDiv to expand, just in case position trick fails var clearer = document.createElement('span'); clearer.clear = 'left'; rowDiv.appendChild(clearer); diffDiv.appendChild(rowDiv); } tables[i].parentNode.replaceChild(diffDiv, tables[i]); } }; // finally, a kluge to vertically center the +/- signs var centerDiffSigns = function () { for (var i = 0; i < diffSigns.length; i++) { var parentHeight; if (!( parentHeight = diffSigns[i].parentNode )) continue; if (!( parentHeight = parentHeight.clientHeight )) continue; diffSigns[i].style.top = Math.round((parentHeight - diffSigns[i].offsetHeight)/2) + "px"; } }; fixDiffWidth(); hookEvent('resize', centerDiffSigns); setTimeout(centerDiffSigns, 250); }if (window.addEventListener) addLoadEvent(FixDiffWidth);/* [[:en:Wikipedia:WikiProject User scripts/Scripts/addLink|addLink]] */function addLink(where, url, name, id, title, key, after) { //* where is the id of the toolbar where the button should be added; // i.e. one of "p-cactions", "p-personal", or "p-navigation". //* url is the URL which will be called when the button is clicked. // javascript: urls can be used to do more complex things. //* name is what will appear as the name of the button. //* id is the id of the button; it's best to define one. // Use a prefix to make sure its unique. Optional. //* title is the tooltip title that gives a longer description // of the button; if you define a accesskey, mention it here. Optional. //* key is the char you want for the accesskey. Optional. //* after is the id of the button you want to follow this one. Optional. var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); if(id) li.id = id; li.appendChild(na); var tabs = document.getElementById(where).getElementsByTagName('ul')[0]; if(after) { tabs.insertBefore(li,document.getElementById(after)); } else { tabs.appendChild(li); } if(id) { if(key && title) { ta[id] = [key, title]; } else if(key) { ta[id] = [key, '']; } else if(title) { ta[id] = ['', title];} } // re-render the title and accesskeys from existing code in wikibits.js akeytt(); return li;}/* [[:en:Wikipedia:WikiProject User scripts/Scripts/Add purge to tabs|addPurge]] */function AddPurge () { var x = document.getElementById('ca-history'); if(!x) return; if(x.children) x = x.children[0].href; else x = x.childNodes[0].href; addLink("p-cactions", x.replace(/=history/, "=purge"), 'Làm sạch', 'ca-purge', 'Làm sạch vùng nhớ đệm của trang này', 0);}addLoadEvent(AddPurge);/* Chia ra [[Thành viên:Mxn/Trang Chủ 3]] thành tab *//* Dựa trên mã nguồn của [http://vi.wikipedia.org/skins-1.5/common/wikibits.js] */// fold sections for Trang Chủ// XXX: needs testing on IE/Mac and safari// more comments to followfunction tabbedsects() { var container = document.getElementById('page-sects'); if (!container || !document.createElement) return; if (container.nodeName.toLowerCase() == 'a') return; // Occasional IE problem container.className = container.className + 'jsprefs'; var sections = new Array(); children = container.childNodes; var seci = 0; for (i = 0; i < children.length; i++) { if (children[i].nodeName.toLowerCase() == 'div') { children[i].id = 'prefsection-' + seci; children[i].className = 'prefsection'; if (is_opera || is_khtml) children[i].className = 'prefsection operaprefsection'; legends = children[i].getElementsByTagName('h2'); sections[seci] = new Object(); legends[0].className = 'mainLegend'; if (legends[0] && legends[0].firstChild.nodeValue) sections[seci].text = legends[0].firstChild.nodeValue; else sections[seci].text = '# ' + seci; sections[seci].secid = children[i].id; seci++; if (sections.length != 1) children[i].style.display = 'none'; else var selectedid = children[i].id; } } var toc = document.createElement('ul'); toc.id = 'preftoc'; toc.selectedid = selectedid; for (i = 0; i < sections.length; i++) { var li = document.createElement('li'); if (i == 0) li.className = 'selected'; var a = document.createElement('a'); a.href = '#' + sections[i].secid; a.onmousedown = a.onclick = uncoversection; a.appendChild(document.createTextNode(sections[i].text)); a.secid = sections[i].secid; li.appendChild(a); toc.appendChild(li); } container.parentNode.insertBefore(toc, container.parentNode.childNodes[0]);// document.getElementById('prefsubmit').id = 'prefcontrol';}function uncoversection() { oldsecid = this.parentNode.parentNode.selectedid; newsec = document.getElementById(this.secid); if (oldsecid != this.secid) { ul = document.getElementById('preftoc'); document.getElementById(oldsecid).style.display = 'none'; newsec.style.display = 'block'; ul.selectedid = this.secid; lis = ul.getElementsByTagName('li'); for (i = 0; i< lis.length; i++) lis[i].className = ''; this.parentNode.className = 'selected'; } return false;}addLoadEvent(tabbedsects);/*</nowiki>*/