gpt4 book ai didi

javascript - 在工作人员接受 HIT 之前,如何隐藏 HIT 中外部网页的链接

转载 作者:行者123 更新时间:2023-11-28 16:04:40 26 4
gpt4 key购买 nike

在 Amazon Mechanical Turk 上,我在 HIT 中添加了一个指向外部网页的链接,工作人员将在其中执行实际的 HIT。但是,我想对工作人员隐藏该链接,直到他们接受 HIT。

可以通过在创建 HIT 时在页面上添加一些 JavaScript 来完成此操作吗?或者这必须通过 MTurk API 或 Boto

等库来完成

最佳答案

当打开您的外部网页时,Amazon 将在 URL 查询字符串中传递变量。对于此用例,您需要查看assignmentId。如果 assignmentIdASSIGNMENT_ID_NOT_AVAILABLE,则工作人员正在预览 HIT。 (更多信息请参见mturk docs。)

您可以使用以下 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];
}
});

关于javascript - 在工作人员接受 HIT 之前,如何隐藏 HIT 中外部网页的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15589764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com