返回首頁 

Greasy Fork is available in English.

Microsoft Update Catalog - Auto Highlight the version for your OS

Auto Highlight the version for your OS when you download the updates from Microsoft Update Catalog


Installer ce script?
  1. // ==UserScript==// @name Microsoft Update Catalog - Auto Highlight the version for your OS// @namespace http://tampermonkey.net/// @version 0.3// @description Auto Highlight the version for your OS when you download the updates from Microsoft Update Catalog// @author You// @match https://www.catalog.update.microsoft.com/*// @icon https://www.google.com/s2/favicons?domain=microsoft.com// @grant none// ==/UserScript==(function $$() {'use strict';if(!document.documentElement) return window.requestAnimationFrame($$);function addStyle(styleText) {const styleNode = document.createElement('style');styleNode.type = 'text/css';styleNode.textContent = styleText;document.documentElement.appendChild(styleNode);return styleNode;}const cssText=`[ms-update-highlighted-row] td{font-weight:900;}[ms-update-highlighted-row] td input:only-of-type{font-weight:600;background-color:rgba(100,135,220,0.3);}`function isIntelX64(){// https://stackoverflow.com/a/13709431/6764107if(!window.navigator)return null;let ua= navigator.userAgent;if(!ua || typeof ua !='string')return null;let kua = ua.replace(/64\d/g,'').replace(/\s*[;,]\s*/,'$1 ')let res1 = /x86_64|x86\-64|Win64|x64;|amd64|AMD64|WOW64|x64_64/.test(kua);let res2 = /ia64|sparc64|ppc64|IRIX64/.test(kua);return res1 && !res2;}/* DEMO http://jsfiddle.net/rLnwg3vy/ *//*** JavaScript Client Detection* (C) viazenetti GmbH (Christian Ludwig)*/function getJSCD () {{let screen = window.screen;var unknown = '-';// screenvar screenSize = '';if (screen && screen.width) {let width = (screen.width) ? screen.width : '';let height = (screen.height) ? screen.height : '';screenSize += '' + width + " x " + height;}// browservar nVer = navigator.appVersion;var nAgt = navigator.userAgent;var browser = navigator.appName;var version = '' + parseFloat(navigator.appVersion);var majorVersion = parseInt(navigator.appVersion, 10);var nameOffset, verOffset, ix;// Operaif ((verOffset = nAgt.indexOf('Opera')) != -1) {browser = 'Opera';version = nAgt.substring(verOffset + 6);if ((verOffset = nAgt.indexOf('Version')) != -1) {version = nAgt.substring(verOffset + 8);}}// Opera Nextif ((verOffset = nAgt.indexOf('OPR')) != -1) {browser = 'Opera';version = nAgt.substring(verOffset + 4);}// Legacy Edgeelse if ((verOffset = nAgt.indexOf('Edge')) != -1) {browser = 'Microsoft Legacy Edge';version = nAgt.substring(verOffset + 5);}// Edge (Chromium)else if ((verOffset = nAgt.indexOf('Edg')) != -1) {browser = 'Microsoft Edge';version = nAgt.substring(verOffset + 4);}// MSIEelse if ((verOffset = nAgt.indexOf('MSIE')) != -1) {browser = 'Microsoft Internet Explorer';version = nAgt.substring(verOffset + 5);}// Chromeelse if ((verOffset = nAgt.indexOf('Chrome')) != -1) {browser = 'Chrome';version = nAgt.substring(verOffset + 7);}// Safarielse if ((verOffset = nAgt.indexOf('Safari')) != -1) {browser = 'Safari';version = nAgt.substring(verOffset + 7);if ((verOffset = nAgt.indexOf('Version')) != -1) {version = nAgt.substring(verOffset + 8);}}// Firefoxelse if ((verOffset = nAgt.indexOf('Firefox')) != -1) {browser = 'Firefox';version = nAgt.substring(verOffset + 8);}// MSIE 11+else if (nAgt.indexOf('Trident/') != -1) {browser = 'Microsoft Internet Explorer';version = nAgt.substring(nAgt.indexOf('rv:') + 3);}// Other browserselse if ((nameOffset = nAgt.lastIndexOf(' ') + 1) < (verOffset = nAgt.lastIndexOf('/'))) {browser = nAgt.substring(nameOffset, verOffset);version = nAgt.substring(verOffset + 1);if (browser.toLowerCase() == browser.toUpperCase()) {browser = navigator.appName;}}// trim the version stringif ((ix = version.indexOf(';')) != -1) version = version.substring(0, ix);if ((ix = version.indexOf(' ')) != -1) version = version.substring(0, ix);if ((ix = version.indexOf(')')) != -1) version = version.substring(0, ix);majorVersion = parseInt('' + version, 10);if (isNaN(majorVersion)) {version = '' + parseFloat(navigator.appVersion);majorVersion = parseInt(navigator.appVersion, 10);}// mobile versionvar mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);// cookievar cookieEnabled = (navigator.cookieEnabled) ? true : false;if (typeof navigator.cookieEnabled == 'undefined' && !cookieEnabled) {document.cookie = 'testcookie';cookieEnabled = (document.cookie.indexOf('testcookie') != -1) ? true : false;}// systemvar os = unknown;var clientStrings = [{s:'Windows 10', r:/(Windows 10.0|Windows NT 10.0)/},{s:'Windows 8.1', r:/(Windows 8.1|Windows NT 6.3)/},{s:'Windows 8', r:/(Windows 8|Windows NT 6.2)/},{s:'Windows 7', r:/(Windows 7|Windows NT 6.1)/},{s:'Windows Vista', r:/Windows NT 6.0/},{s:'Windows Server 2003', r:/Windows NT 5.2/},{s:'Windows XP', r:/(Windows NT 5.1|Windows XP)/},{s:'Windows 2000', r:/(Windows NT 5.0|Windows 2000)/},{s:'Windows ME', r:/(Win 9x 4.90|Windows ME)/},{s:'Windows 98', r:/(Windows 98|Win98)/},{s:'Windows 95', r:/(Windows 95|Win95|Windows_95)/},{s:'Windows NT 4.0', r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},{s:'Windows CE', r:/Windows CE/},{s:'Windows 3.11', r:/Win16/},{s:'Android', r:/Android/},{s:'Open BSD', r:/OpenBSD/},{s:'Sun OS', r:/SunOS/},{s:'Chrome OS', r:/CrOS/},{s:'Linux', r:/(Linux|X11(?!.*CrOS))/},{s:'iOS', r:/(iPhone|iPad|iPod)/},{s:'Mac OS X', r:/Mac OS X/},{s:'Mac OS', r:/(Mac OS|MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:'QNX', r:/QNX/},{s:'UNIX', r:/UNIX/},{s:'BeOS', r:/BeOS/},{s:'OS/2', r:/OS\/2/},{s:'Search Bot', r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}];for (var id in clientStrings) {var cs = clientStrings[id];if (cs.r.test(nAgt)) {os = cs.s;break;}}var osVersion = unknown;if (/Windows/.test(os)) {osVersion = /Windows (.*)/.exec(os)[1];os = 'Windows';}switch (os) {case 'Mac OS':case 'Mac OS X':case 'Android':osVersion = /(?:Android|Mac OS|Mac OS X|MacPPC|MacIntel|Mac_PowerPC|Macintosh) ([\.\_\d]+)/.exec(nAgt)[1];break;case 'iOS':osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer);osVersion = osVersion[1] + '.' + osVersion[2] + '.' + (osVersion[3] | 0);break;}// flash (you'll need to include swfobject)/* script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" */var flashVersion = 'no check';if (typeof swfobject != 'undefined') {var fv = swfobject.getFlashPlayerVersion();if (fv.major > 0) {flashVersion = fv.major + '.' + fv.minor + ' r' + fv.release;}else {flashVersion = unknown;}}}return {screen: screenSize,browser: browser,browserVersion: version,browserMajorVersion: majorVersion,mobile: mobile,os: os,osVersion: osVersion,cookies: cookieEnabled,flashVersion: flashVersion,isIntelX64: isIntelX64()};}/*alert('OS: ' + jscd.os +' '+ jscd.osVersion + '\n' +'Browser: ' + jscd.browser +' '+ jscd.browserMajorVersion +' (' + jscd.browserVersion + ')\n' +'Mobile: ' + jscd.mobile + '\n' +'Flash: ' + jscd.flashVersion + '\n' +'Cookies: ' + jscd.cookies + '\n' +'Screen Size: ' + jscd.screen + '\n\n' +'Full User Agent: ' + navigator.userAgent);*/function nearestParent(dom, f){let p = dom;while(p && p.nodeType>0){if(f(p)) return pp=p.parentNode;}return null;}function nOfType(elm){if(!elm)return -1;let parent = elm.parentNode;let i=0;if(!parent) return -1;for(const s of parent.children){if(elm===s) return i;if(s.nodeName==elm.nodeName) i++;}return -1;}let jscd=null;let addedStyle=null;let m11=1;setInterval(function(){let e11;if(m11&&(e11=document.querySelector('td>a[id*="product"]:only-of-type>span:only-of-type'))){m11=0;let e22=document.querySelector('td>a[id*="title"]:only-of-type>span:only-of-type');if(!e22)return;jscd = jscd||getJSCD();let osVersion = jscd.os +' '+ jscd.osVersion;if(osVersion=='Windows 7'){}let tContainer = nearestParent(e11, (elm)=>elm.nodeName=="TBODY"||elm.nodeName=="TABLE");let idx11=nOfType(nearestParent(e11, (elm)=>elm.nodeName=="TD"))let idx22=nOfType(nearestParent(e22, (elm)=>elm.nodeName=="TD"))let tds = tContainer.querySelectorAll(`td:nth-of-type(${idx11+1})`)for(const elm of tds){let products_txt = elm.textContent.replace(/[^a-zA-Z0-9\-\_\s\,]/g,'').trim();let products = products_txt.split(/\s*,\s*/);let isProductFound = products.includes(osVersion);/*Windows 7,Windows 8,Windows Server 2003,Windows Server 2003, Datacenter Edition,Windows Server 2008,Windows Server 2008 R2,Windows Server 2012,Windows Vista,Windows XP x64 Edition*/if(isProductFound){let tr = nearestParent(elm, (elm)=>elm.nodeName=="TR")let title = tr.querySelector(`td:nth-of-type(${idx22+1})`)let p = (title.textContent+'').match(/\b(x64|x86)\b/);//console.log(p);if(p){if((p[0]=='x86'&&jscd.isIntelX64===true)||(p[0]=='x64'&&jscd.isIntelX64===false)) continue;}addedStyle=addedStyle||addStyle(cssText);tr.setAttribute('ms-update-highlighted-row','')}}}},250)// Your code here...})();