您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
The Category Expander expands all categories on the daily offers page of Amazon
- // ==UserScript==
- // @name Amazon Category Expander
- // @namespace https://lewisch.io/
- // @version 1.0
- // @description The Category Expander expands all categories on the daily offers page of Amazon
- // @author Thomas Lewisch
- // @match *.amazon.de/gp/angebote*
- // @require https://code.jquery.com/jquery-2.2.0.min.js
- // @grant none
- // ==/UserScript==
- /* jshint -W097 */
- 'use strict';
- var CategoryExpander = function(options) {
- this.options = options || {};
- this.defaults = {
- selectors: { // the selectors used to find the categories
- expander: '.a-expander-header span', // the selector for the category expander
- categoryContainer: '#widgetFilters', // the selector for the category container
- },
- };
- this.settings = jQuery.extend({}, this.defaults, options);
- };
- /**
- * starts the category selector
- *
- * @return {void}
- */
- CategoryExpander.prototype.run = function () {
- var self = this,
- exists = window.setInterval(function() {
- if (self.filters().length) {
- self.expandCategories();
- window.clearInterval(exists);
- }
- }, 100);
- };
- /**
- * gets the container element that holds the filters
- *
- * @return {jQuery element|array}
- */
- CategoryExpander.prototype.filters = function () {
- return jQuery(document).find(this.settings.selectors.categoryContainer);
- };
- /**
- * expands the categories to display all categories
- *
- * @return {void}
- */
- CategoryExpander.prototype.expandCategories = function () {
- this.filters().find(this.settings.selectors.expander).trigger('click');
- };
- /**
- * initializes a new category expander
- *
- * @param {object} options
- * @return {CategoryExpander}
- */
- CategoryExpander.init = function(options) {
- var expander = new CategoryExpander(options);
- expander.run();
- return expander;
- };
- jQuery(document).ready(function($) {
- CategoryExpander.init();
- });