Userscript Manager Detection

A Code Snippet for detecting if the script is being ran in an Userscript Manager.

当前为 2022-10-16 提交的版本,查看 最新版本

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.org/scripts/453189/1105660/Userscript%20Manager%20Detection.js

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

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

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

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

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Userscript Manager Detection
// @namespace    http://tampermonkey.net/
// @version      1
// @description  A Code Snippet for detecting if the script is being ran in an Userscript Manager.
// @author       Taureon
// @include      *
// @grant        none
// @license      Unlicense
// ==/UserScript==

// Detect GreaseMonkey API objects
//data type: boolean
//true = It is being ran in an Userscript Manager
//false = It is being ran as a bookmarklet or it is being ran in an Userscript Manager that does not have GreaseMonkey API objects
var isInUserscriptContext = typeof GM === 'object' || typeof GM_info === 'object';

// Show result
//NOTE: This is not required, as it only serves for demonstration purposes.
alert(isInUserscriptContext ? 'I am being ran in an Userscript' : 'I am not being ran in an Userscript');