Instructables All Steps

Redirects to view all steps on Instructables projects.

当前为 2016-06-14 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 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;
  }
}) ();