Smile@Amazon

Redirects any Amazon shopping site to its Smile representation

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name           Smile@Amazon
// @name:de        Smile@Amazon
// @description    Redirects any Amazon shopping site to its Smile representation
// @description:de Leitet jede Amazon Shopping Seite zu ihrem Smile Äquivalent um
// @namespace      zScript
// @include        https://www.amazon.tld/*
// @icon           https://smile.amazon.com/favicon.ico
// @version        1.2
// @grant          none
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js 
// ==/UserScript==

// I created this script because any other Script redirecting to Amazon Smile has one or another flaw
// Most Scripts check for only one TLD like .COM, this script should work for all domains Tampermonkey supports.
// As Amazon redirects its shopping site always to the HTTPS protocol and the WWW subdomain, i only include httpS://WWW.amazon...
// As Amazon prevents to be included in Frames from other sites, i only prevent redirection if the top window is already smile.amazon
// This way i leave (i)frames created by smile.amazon the way Amazon created them, hoping they know what they're doing.
//
// This edited script will only redirect if the page exists (a problem for sites that dont have amazon smile such as Amazon JP)
(function() {
    'use strict';
    if(top.location.href.match(/^http(?:s)?:\/\/smile\.amazon\.[^/]+\//i) === null){
      var xhr = new XMLHttpRequest();
      $.ajax({
        url:window.location.href.replace(/^http(?:s)?:\/\/www\./i, "https://smile."),
        success: function() {
          if(xhr.responseURL.match(/^http(?:s)?:\/\/smile\.amazon\.[^/]+\//i) !== null) {
            window.location.replace(window.location.href.replace(/^http(?:s)?:\/\/www\./i, "https://smile."));
          }
        },
        xhr: function() {
         return xhr;
    		}
	  	});  
    }
})();