Skip to content

Instantly share code, notes, and snippets.

@jdelamater99
Last active April 4, 2024 08:25
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save jdelamater99/92ef1373a82d17556fd2 to your computer and use it in GitHub Desktop.
Save jdelamater99/92ef1373a82d17556fd2 to your computer and use it in GitHub Desktop.
AmazonSmile Redirect (Greasemonkey Script)
// ==UserScript==
// @name AmazonSmile Redirect
// @namespace http://jdel.us
// @description Redirect Amazon to AmazonSmile
// @include http://*.amazon.*/*
// @include https://*.amazon.*/*
// @version 0.6
// @grant none
// @run-at document-start
// ==/UserScript==
var url = window.location.host;
if (url.match("smile.amazon") === null) {
url = window.location.href;
if (url.match("//www.amazon") !== null){
url = url.replace("//www.amazon", "//smile.amazon");
} else if (url.match("//amazon.") !== null){
url = url.replace("//amazon.", "//smile.amazon.");
} else {
return;
}
console.log(url);
window.location.replace(url);
}
@rwv37
Copy link

rwv37 commented Feb 15, 2015

Hi,

I made a couple little changes. I apparently can't submit a "pull request" to your project because it is a "gist" (I am new to git and to the terminology, so I'm not sure if I'm correctly saying what I mean to say), so I figured I'd write you this note in case you want to include my changes in your original project. The changes are:

(1) Stopped it from trying to work on inappropriate URLs (such as aws.amazon.com) - it would just loop trying to redirect to the original page itself over and over.

(2) Set it up to work on https as well as http.

If you'd like to look at my changes, my copy of this project can be found here:

https://gist.github.com/rwv37/3b079e6ec8dd34e6f2c7

Thanks for making this!

@jdelamater99
Copy link
Author

Thanks bigmittens. I've updated the script to address this issue.

@Stimmenhotel
Copy link

Stimmenhotel commented Apr 19, 2017

This seems not working with global amazon sites. ex: amazon.de
// @include http://*.amazon.*/*
// @include https://*.amazon.*/*

Changed this and it seems to work. At least I am redirected.
But since I am no expert, I don't know if this edit could cause any bugs.

@haozhang96
Copy link

Adding // @run-at document-start may also help speed up the redirection by not waiting until the page has loaded.

@jdelamater99
Copy link
Author

Thanks for the recommendation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment