Amazon CPU Tamer

It reduces CPU usage on Amazon shopping pages. Enjoy your snappy shopping.

Version vom 04.11.2020. Aktuellste Version

Du musst eine Erweiterung wie Tampermonkey, Greasemonkey oder Violentmonkey installieren, um dieses Skript zu installieren.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

Sie müssten eine Skript Manager Erweiterung installieren damit sie dieses Skript installieren können

(Ich habe schon ein Skript Manager, Lass mich es installieren!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name        Amazon CPU Tamer
// @name:ja     Amazon CPU Tamer
// @name:zh-CN  Amazon CPU Tamer
// @namespace   knoa.jp
// @description It reduces CPU usage on Amazon shopping pages. Enjoy your snappy shopping.
// @description:ja AmazonのショッピングページでのCPU使用率を削減します。お買いものをサクサク楽しみましょう。
// @description:zh-CN 减少Amazon购物页面上的CPU利用率。顺利地享受买东西吧。
// @include     https://www.amazon.*
// @version     1.1.0
// @grant       none
// @run-at      document-start
// ==/UserScript==

/*
[update] 1.1.0
added an associate tag.

*/
(function(){
  const SCRIPTNAME = 'Amazon Cpu Tamer';
  console.log(SCRIPTNAME);
  const TAMEDINTERVAL = 60*1000;
  /* tame quick intervals */
  window.originalSetInterval = window.setInterval;
  window.setInterval = function(f, interval, ...args){
    if(interval < TAMEDINTERVAL){
      console.log(SCRIPTNAME, 'interval:', interval, 'to', TAMEDINTERVAL);
      interval = TAMEDINTERVAL;
    }
    return window.originalSetInterval(f, interval, ...args);
  };
  /* add an associate tag */
  switch(location.host){
    case('www.amazon.com'):
      addTag('knoa-20');
      break;
    case('www.amazon.co.jp'):
      addTag('knoa-22');
      break;
  }
  function addTag(tag){
    const url = new URL(location.href);
    if(url.searchParams.get('tag') !== null) return;/* do not overwrite */
    const separator = (url.search === '') ? '?' : '&';
    console.log(SCRIPTNAME, 'associate tag:', tag);
    history.replaceState(null, document.title, location.href + separator + 'tag=' + tag);
  }
})();