Amazon Auto-Smile

Automatically redirects all www.amazon.com URLs to their smile.amazon.com equivalent.

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

You will need to install an extension such as Tampermonkey 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.

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

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

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 Auto-Smile
// @namespace  
// @version    0.1
// @description  Automatically redirects all www.amazon.com URLs to their smile.amazon.com equivalent.
// @match      http://www.amazon.com/*
// @match      https://www.amazon.com/*
// @run-at document-start
// @copyright  2013
// ==/UserScript==

// Only redirect if we're the top window
//
// This prevents iframes embedded within www.amazon.com pages from 
// triggering redirects themselves: we only want the outer window to do that. 
// Unfortunately, it has the side-effect that if amazon.com is embedded
// in a frame on some other website, we'll skip doing the redirect even though 
// we're supposed to. 

if (window.self === window.top) {
    var new_host = window.location.host.replace(/^www\./, 'smile.');
    var new_url = window.location.protocol + '//' + new_host + window.location.pathname + window.location.search + window.location.hash;
    window.location.replace(new_url);
}