Greasy Fork

Greasy Fork is available in English.

MTurk 13D Data Extraction

Make it easier to copy/paste data for 13D Data Extraction HITs

当前为 2015-08-21 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name        MTurk 13D Data Extraction
// @description Make it easier to copy/paste data for 13D Data Extraction HITs
// @namespace   http://idlewords.net
// @include     https://www.mturkcontent.com/dynamic/hit*
// @include     https://www.sec.gov/Archives/*
// @version     0.9
// @require     https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
// @grant		GM_setClipboard
// ==/UserScript==

var datetime = 1; // CHANGE THIS TO 0 (zero) FOR DD/MM/YYYY FORMAT

if ($("#PageTitle:contains('Filing Detail')").length) {
	var accept_date = $("div.formContent").eq(0).children("div.formGrouping").eq(0).children("div.info").eq(1);
	var split_date = accept_date.text().split(" ");
	var acc_date = split_date[0].split("-");
	if (acc_date[0].length == 1) {
		acc_date[0] = '0' + acc_date[0];
	}
	if (datetime == 1) {
		new_date = acc_date[1] + '/' + acc_date[2] + '/' + acc_date[0];
	} else {
		new_date = acc_date[2] + '/' + acc_date[1] + '/' + acc_date[0];
	}
	accept_date.text('');
	accept_date.wrapInner("<input type='text' style='width: 400px; border: none; font-size: 16px;' id='datetime'></input>");
	$("#datetime").val(new_date + ' ' + split_date[1]).mouseover(function() {
		//$(this).select();
		GM_setClipboard(new_date + ' ' + split_date[1]);
		$(this).css('color', 'green').css('font-weight', 'bold').val($(this).val() + ' - COPIED');
	});
	var link = $("a:contains('Archives')").attr('href');
	console.log(link.length);
} else if ($("li:contains('You will be provided')").length) {
	$("#acceptance_date").blur(function() {
		if ($(this).val() !== '' && $("#acceptance_time").val() === '') {
			var date_time = $(this).val().split(" ");
			$("#acceptance_time").val(date_time[1]);
			$("#acceptance_time").attr('readonly', 'readonly');
			$("#acceptance_date").val(date_time[0]);
			$("#acceptance_date").attr('readonly', 'readonly');
		}
	});
	$("a[href~='sec.gov']").attr('target', 'stock');
	window.parent.postMessage("secpage!!!!!" + link, "https://www.mturk.com");
} else if ($(":contains('Class of Securities)')").length) {
	cusipHead = $("font, b, p, td, div").filter(":contains('(CUSIP') :contains('Number)')").first();

	var cusipNumParent = null;
	function getCusipPrev() {
		var prevTDs = 0;
		if (cusipHead.prev().length) {
			if (cusipHead.prev("td").length) {
				prevTDs = cusipHead.prevAll("td").length;
				cusipNumParent = cusipHead.parent().prev();
			} else {
				cusipNumParent = cusipHead.prev();
			}
		} else if (cusipHead.parent().prev().length) {
			if (cusipHead.parent().prev("td").length) {
				prevTDs = cusipHead.parent().prevAll("td").length;
				cusipNumParent = cusipHead.parent().parent().prev();
			} else {
				cusipNumParent = cusipHead.parent().prev();
			}
		} else if (cusipHead.parent().parent().prev().length) {
			if (cusipHead.parent().parent().prev("td").length) {
				prevTDs = cusipHead.parent().parent().prevAll("td").length;
				cusipNumParent = cusipHead.parent().parent().parent().prev();
			} else {
				cusipNumParent = cusipHead.parent().prev();
			}
		}
		return prevTDs;
	}

	prevTDs = getCusipPrev();
	if (cusipNumParent.prop("tagName") == "HR" || cusipNumParent.find("hr").length) {
		cusipHead = cusipNumParent;
		cusipNumParent = null;
		prevTDs = getCusipPrev();
	}

	if (cusipNumParent !== null) {
		var cusipNum = null;
		if (cusipNumParent.children().eq(prevTDs).children().first().children().first().length) {
			cusipNum = cusipNumParent.children().eq(prevTDs).children().first().children().first();
		}
		if (cusipNumParent.children().eq(prevTDs).children().first().length) {
			// number is buried 2 deep
			cusipNum = cusipNumParent.children().eq(prevTDs).children().first();
		} else if (cusipNumParent.children().eq(prevTDs).length) {
			// number should only be 1 deep
			cusipNum = cusipNumParent.children().eq(prevTDs);
		} else {
			// number is text within parent
			cusipNum = cusipNumParent;
		}

		if (cusipNum !== null) {
			cusipNum.attr('id', 'cusipNumField');
			cusipText = cusipNum.text();
			cusipNum.text('');
			cusipNum.append("<input type='text' style='width: 400px; border: none; font-size: 16px;' id='cusipNum' />")
			$("#cusipNum").val(cusipText).mouseover(function() {
				if ($(this).val().substr(-6) === 'COPIED') {
					$(this).val($(this).val().replace(' - COPIED', ''));
				}
				GM_setClipboard($(this).val());
				$(this).css('color', 'green').css('font-weight', 'bold').val($(this).val() + ' - COPIED');
			});
		}
	}
}