我使用了this中的代码制作了一个简单的应用程序,并在工人沙箱MTurk站点上对其进行了测试。当使用答案中显示的代码时,它可以完美工作,但是如果我尝试创建一个对象并将函数和变量放置在该对象中,则这些按钮在沙盒站点上将不起作用,但在打开.html文件时将起作用浏览器。此外,添加注释将产生相同的效果。我的代码是这样的:

<?xml version="1.0"?>
<HTMLQuestion xmlns="http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2011-11-11/HTMLQuestion.xsd">
  <HTMLContent><![CDATA[
<!DOCTYPE html>
<html>
<head>
    <style>
    #thediv {
     align-self:flex-start
     margin:0 auto;
     height:1050px;
     width:750px;
     overflow:auto;
    }
    img {
     position: static;
     left: 50%;
     top: 50%;
    }
    </style>
</head>
<body>
    <input type='button' value ='-' onclick='zoom(0.5);'/>
    <input type='button' value ='+' onclick='zoom(2);'/>
    <div id="thediv">
        <img id="pic" src="http://upload.wikimedia.org/wikipedia/commons/d/de/Nokota_Horses_cropped.jpg"/>
    </div>
<script type="text/javascript">
    var zoomLevel=1;
    var maxZoomLevel=2;
    var minZoomLevel=1;
    function zoom(zm) {
        var img=document.getElementById("pic");
        if(zm > 1){
            if(zoomLevel < maxZoomLevel){
                zoomLevel++;
            }else{
                return;
            }
        }else if(zm < 1){
            if(zoomLevel > minZoomLevel){
                zoomLevel--;
            }else{
                return;
            }
        }
        wid = img.width;
        ht = img.height;
        img.style.width = (wid*zm)+"px";
        img.style.height = (ht*zm)+"px";
    }
</script>
</body>
</html>
]]>
  </HTMLContent>
  <FrameHeight>450</FrameHeight>
</HTMLQuestion>


是否有某些原因可以在浏览器中正常运行,但在MTurk沙箱站点中却无法正常运行?

最佳答案

我刚刚测试过创建这样的HIT,它对我有用。

与JavaScript无关,请注意,您将需要至少包含一个命名输入(例如),以便工人提交HIT。

您正在使用哪种浏览器进行测试?

10-06 08:28