您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Exalea - Routeur pour le P.D.O.
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/4097/13108/routeruserjs.js
- /**
- * Prototype d'un routeur (Singleton)
- */
- {
- /**
- * Constructeur
- *
- * @returns {Router} this Instance courante (permet l'utilisation de méthodes chaînées)
- * @constructor
- *
- * @author Exalea
- */
- var Router = function () {
- /**
- * Liste des routes disponibles (de type Route)
- *
- * @type {Route[]}
- *
- * @author Exalea
- */
- this.routes = [];
- return this;
- };
- /**
- * Ajout d'une route de type Route au routeur
- *
- * @param {Route} route Route à ajouter
- *
- * @author Exalea
- */
- Router.prototype.addRoute = function (route) {
- if (route instanceof Route) {
- this.routes.push(route);
- }
- };
- /**
- * Ajout d'une route via une expression régulière et une méthode de callback
- *
- * @param {string} regex Expression régulière de la future route créée
- * @param {function} callback Méthode callback de la future route créée
- *
- * @author Exalea
- */
- Router.prototype.add = function (regex, callback) {
- this.addRoute(new Route(regex, callback));
- };
- /**
- * Application de l'ensemble des routes du routeur à une URL selon le principe 'first match, first applied'
- *
- * @param {string} url L'URL à tester
- *
- * @author Exalea
- */
- Router.prototype.apply = function (url) {
- loop: for (var key in this.routes) {
- var route = this.routes[key];
- if (route instanceof Route)
- if (route.apply(url)) break loop;
- }
- };
- /**
- * Implémentation du pattern Singleton
- *
- * @returns {Router}
- */
- Router.getInstance = function () {
- if (Router.instance == null)
- Router.instance = new Router();
- return Router.instance;
- };
- /**
- * Sucre syntaxique : ajout d'un accès statique aux méthodes du Singleton
- */
- {
- Router.addRoute = function (route) {
- return Router.getInstance().addRoute(route);
- };
- Router.add = function (regex, callback) {
- return Router.getInstance().add(regex, callback);
- };
- Router.apply = function (url) {
- return Router.getInstance().apply(url);
- };
- }
- }