Instructables All Steps

Redirects to view all steps on Instructables projects.

目前為 2016-06-14 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        Instructables All Steps
// @namespace   instructablesallsteps
// @description	Redirects to view all steps on Instructables projects.
// @include     http://*.instructables.com/id/*
// @include     https://*.instructables.com/id/*
// @version     0.1
// @grant       none
// ==/UserScript==
(function () {
  var currentLocation = window.location;
  if (!containsQueryParameter(currentLocation, 'ALLSTEPS')) {
    newLocation = addQueryParameter(currentLocation, 'ALLSTEPS', null);
    currentLocation.replace(newLocation);
  }
  
  function containsQueryParameter(location, key) {
    return containsCaseInsensitive(location.search, key);
  }
  function addQueryParameter(location, key, value) {
    var separator = '';
    if (!containsQueryStringSeparator(location)) {
      separator = '?';
    } else if (containsQueryParameters(location)) {
      separator = '&';
    }
    return location.href + separator + key + '=' + value;
  }
  function containsQueryStringSeparator(location) {
    return contains(location.href, '?');
  }
  function containsQueryParameters(location) {
    return location.search != '';
  }
  function contains(value, substring) {
    return value.indexOf(substring) != - 1;
  }
  function containsCaseInsensitive(value, substring) {
    return value.search(new RegExp(substring, 'i')) != - 1;
  }
}) ();