您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically views the image when adding an item to your wanted list.
当前为
- // ==UserScript==
- // @name Bricklink - Wanted List: Auto-View Image
- // @namespace http://badwing.com/
- // @version 0.1
- // @description Automatically views the image when adding an item to your wanted list.
- // @author Christopher Hiller
- // @include http://www.bricklink.com/wantedAddDetail.asp?*
- // @require //code.jquery.com/jquery-1.11.1.min.js
- // ==/UserScript==
- // reference to jQuery object of the <img> tag
- var img_thumb;
- /**
- * Given an ID, put the image in the placeholder.
- * @param {string} id Part ID
- */
- var getImage = function getImage(id) {
- var src = '/getPic.asp?itemType=P&itemNo=' + id;
- $.ajaxQueue(src).done(function(src) {
- return function() {
- img_thumb.attr('src', src);
- };
- }(src));
- };
- $(function() {
- var txt_itemId = $('input[name="p_selecteditemID"]'),
- val = txt_itemId.val();
- img_thumb = $('img[name="img1"]');
- // no longer necessary
- img_thumb.removeAttr('onerror');
- if (val) {
- getImage(val);
- }
- // update the img as the user types
- txt_itemId.keyup(function() {
- var val = this.value;
- if (val) {
- getImage(this.value);
- }
- });
- // hide unneccessary garbage
- $('input[name="imageType"]').next().css('visibility', 'hidden');
- });
- /*! jQuery Ajax Queue - v0.1.2pre - 2013-03-19
- * https://github.com/gnarf37/jquery-ajaxQueue
- * Copyright (c) 2013 Corey Frang; Licensed MIT */
- (function($) {
- // jQuery on an empty object, we are going to use this as our Queue
- var ajaxQueue = $({});
- $.ajaxQueue = function( ajaxOpts ) {
- var jqXHR,
- dfd = $.Deferred(),
- promise = dfd.promise();
- // run the actual query
- function doRequest( next ) {
- jqXHR = $.ajax( ajaxOpts );
- jqXHR.done( dfd.resolve )
- .fail( dfd.reject )
- .then( next, next );
- }
- // queue our ajax request
- ajaxQueue.queue( doRequest );
- // add the abort method
- promise.abort = function( statusText ) {
- // proxy abort to the jqXHR if it is active
- if ( jqXHR ) {
- return jqXHR.abort( statusText );
- }
- // if there wasn't already a jqXHR we need to remove from queue
- var queue = ajaxQueue.queue(),
- index = $.inArray( doRequest, queue );
- if ( index > -1 ) {
- queue.splice( index, 1 );
- }
- // and then reject the deferred
- dfd.rejectWith( ajaxOpts.context || ajaxOpts, [ promise, statusText, "" ] );
- return promise;
- };
- return promise;
- };
- })(jQuery);