Amazon Mechanical Turkでは、HITに、ワーカーが実際のHITを実行する外部Webページへのリンクを含めています。ただし、HITを受け入れるまで、ワーカーからリンクを非表示にします。
これは、HITの作成中にページにJavaScriptを追加することで実行できますか?または、これはMTurkAPIまたは次のようなライブラリを介して実行する必要がありますBoto
Amazon Mechanical Turkでは、HITに、ワーカーが実際のHITを実行する外部Webページへのリンクを含めています。ただし、HITを受け入れるまで、ワーカーからリンクを非表示にします。
これは、HITの作成中にページにJavaScriptを追加することで実行できますか?または、これはMTurkAPIまたは次のようなライブラリを介して実行する必要がありますBoto
Amazonは、外部Webページを開くときに、URLクエリ文字列で変数を渡します。このユースケースでは、を確認しassignmentId
ます。の場合、ワーカーassignmentId
はASSIGNMENT_ID_NOT_AVAILABLE
HITをプレビューしています。(詳細については、mturkドキュメントをご覧ください。)
次のJavaScriptを使用してこれらの変数を取得できます。
var assignmentId = $.getUrlVar('assignmentId');
var workerId = $.getUrlVar('workerId');
var hitId = $.getUrlVar('hitId');
if (assignmentId == "ASSIGNMENT_ID_NOT_AVAILABLE"){
// Worker is previewing the HIT
}
else {
// Worker has accepted the HIT
}
$getUrlVar
単純なjqueryプラグインはどこにありますか?
$.extend({
getUrlVars: function(){
// From http://code.google.com/p/js-uri/source/browse/trunk/lib/URI.js
var parser = /^(?:([^:\/?\#]+):)?(?:\/\/([^\/?\#]*))?([^?\#]*)(?:\?([^\#]*))?(?:\#(.*))?/;
var result = window.location.href.match(parser);
var scheme = result[1] || null;
var authority = result[2] || null;
var path = result[3] || null;
var query = result[4] || null;
var fragment = result[5] || null;
if (query === null || query === undefined) {
return {};
}
var vars = [], hash;
var hashes = query.split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function(name){
return $.getUrlVars()[name];
}
});