ProductRnR

Marks a default radio button depending on the HIT.

目前為 2015-11-06 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         ProductRnR
// @namespace    https://greasyfork.org/users/11580
// @version      1.5.6
// @description  Marks a default radio button depending on the HIT.
// @author       Kadauchi
// @icon         http://www.mturkgrind.com/data/avatars/l/1/1084.jpg?1432698290
// @include      https://www.mturkcontent.com/dynamic/*
// @grant        GM_log
// @require      http://code.jquery.com/jquery-2.1.4.min.js
// ==/UserScript==

// Marks radio buttons.
$(".label.nal").click();
$("input[value='notadult']").click(); // Marks Non-Adult.

// Checks to see if we are on the HIT: 
// Determine whether or not the given image is an image of the product being sold on the provided page				
if ($("h1:contains(Determine whether or not the given image is an image of the product being sold on the provided page.)").length){
	//alert("hi");
	$("input[value='ShoppingImage_MatchesProduct']").prop("checked", true);
}

// Checks to see if we are on the HIT: 
// If you looked at and liked the image above, which of the images below would you be more interested to see?		
if ($("div:contains(You are browsing the web for Images. If you looked at and liked the image above, which of the images below would you be more interested to see?)").length){
	$(":radio:even").click();
}

// Checks to see if we are on the HIT: 
// Choose between two pictures of a given person		
if ($("div:contains(Which of the 2 images would you prefer to represent the given person? You can use the name to search for more context on the person if necessary.)").length){
	$(":radio:even").click();
}

// Checks to see if we are on Label images based on their relevance for the query.
if ($("b:contains(Unrelated/Only Indirectly Related)").length){
	ProductRnR_Relevance_Query();
}

function ProductRnR_Relevance_Query(){
	$(":radio").on('change',function(){
		$(this).next(":contains(Related)").parent().parent().css("opacity", "1").css({ backgroundColor: "lightgreen", opacity: "1"});
		$(this).next(":contains(Unrelated/Indirectly Related)").parent().parent().css("opacity", "1").css({ backgroundColor: "red", opacity: "1"});
		$(this).next(":contains(Image didn't load)").parent().parent().css({ backgroundColor: "", opacity: "0.1"});
	});
	$("input[value='QueryImage_Unrelated']").prop("checked", true).change();
	$(".documentbox").click(function(e){e.preventDefault();});
	$('.documentbox').contextmenu( function() {
		return false;
	});
	$(".documentbox").mousedown(function(e){
		switch (e.which) {
			case 1:
				if($(this).find("input:radio:checked").next(":contains(Related):not(:contains('Unrelated'))").length > 0){
					$(this).find("input[value='QueryImage_Unrelated']").prop("checked", true).change();return false;
				}
				if($(this).find("input:radio:checked").next(":contains(Image didn't load)").length > 0){
					$(this).find("input[value='QueryImage_Related']").prop("checked", true).change();return false;
				}
				if($(this).find("input:radio:checked").next(":contains(Unrelated/Indirectly Related)").length > 0){
					$(this).find("input[value='QueryImage_Related']").prop("checked", true).change();return false;
				}
				break;
			case 3:
				$(this).find("input[value='NoLoad']").prop("checked", true).change();return false;
				break;
		}
	});
	$("img").error(function(){
		$(this).parents(".documentbox").find("input[value='NoLoad']").prop("checked", true).change();
	});
}

// Checks to see if we are on mark excellent HITs.
if ($("b:contains(excellent)").length){
	ProductRnR_Excellent();
}

function ProductRnR_Excellent(){
	$(":radio").on('change',function(){
		$(this).next(":contains(Excellent)").parent().parent().css("opacity", "1").css({ backgroundColor: "lightgreen", opacity: "1"});
		$(this).next(":contains(Not Excellent)").parent().parent().css("opacity", "1").css({ backgroundColor: "red", opacity: "1"});
		$(this).next(":contains(Image didn't load)").parent().parent().css({ backgroundColor: "", opacity: "0.1"});
	});
	$("input[value='Excellent']").prop("checked", true).change();
	$(".documentbox").click(function(e){e.preventDefault();});
	$('.documentbox').contextmenu( function() {
		return false;
	});
	$(".documentbox").mousedown(function(e){
		switch (e.which) {
			case 1:
				if($(this).find("input:radio:checked").next(":contains(Excellent):not(:contains('Not'))").length > 0){
					$(this).find("input[value='Bad']").prop("checked", true).change();return false;
				}
				if($(this).find("input:radio:checked").next(":contains(Image didn't load)").length > 0){
					$(this).find("input[value='Excellent']").prop("checked", true).change();return false;
				}
				if($(this).find("input:radio:checked").next(":contains(Not Excellent)").length > 0){
					$(this).find("input[value='Excellent']").prop("checked", true).change();return false;
				}
				break;
			case 3:
				$(this).find("input[value='NoLoad']").prop("checked", true).change();return false;
				break;
		}
	});
	$("img").error(function(){
		$(this).parents(".documentbox").find("input[value='NoLoad']").prop("checked", true).change();
	});
}

// Enter will sunmit the HIT.
window.onkeydown = function(event) {
	if (event.keyCode === 13) {
		$("button[name='SubmitButton']").click();
	}
};