我是一个新手,所以这可能是一个新手question...But,我真的挣扎了很长时间,还没有弄明白。
我试图用Plunker测试Skulpt主站点上发布的示例代码,但就是不起作用。但它确实能在本地服务器上工作。Here's my plunker link
代码如下:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"></script>
<script src="http://www.skulpt.org/static/skulpt.min.js" type="text/javascript"></script>
<script src="http://www.skulpt.org/static/skulpt-stdlib.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
// output functions are configurable. This one just appends some text
// to a pre element.
function outf(text) {
var mypre = document.getElementById("output");
mypre.innerHTML = mypre.innerHTML + text;
}
function builtinRead(x) {
if (Sk.builtinFiles === undefined || Sk.builtinFiles["files"][x] === undefined)
throw "File not found: '" + x + "'";
return Sk.builtinFiles["files"][x];
}
// Here's everything you need to run a python program in skulpt
// grab the code from your textarea
// get a reference to your pre element for output
// configure the output function
// call Sk.importMainWithBody()
function runit() {
var prog = document.getElementById("yourcode").value;
var mypre = document.getElementById("output");
mypre.innerHTML = '';
Sk.pre = "output";
Sk.configure({output:outf, read:builtinRead});
(Sk.TurtleGraphics || (Sk.TurtleGraphics = {})).target = 'mycanvas';
var myPromise = Sk.misceval.asyncToPromise(function() {
return Sk.importMainWithBody("<stdin>", false, prog, true);
});
myPromise.then(function(mod) {
console.log('success');
},
function(err) {
console.log(err.toString());
});
}
</script>
<h3>Try This</h3>
<form>
<textarea id="yourcode" cols="40" rows="10">import turtle
t = turtle.Turtle()
t.forward(100)
print "Hello World"
</textarea><br />
<button type="button" onclick="runit()">Run</button>
</form>
<pre id="output" ></pre>
<!-- If you want turtle graphics include a canvas -->
<div id="mycanvas"></div>
</body>
</html> 发布于 2017-02-11 00:04:35
您的代码请求http资源,并且正在从Plunker的https版本运行。Plunker的编辑器既可以在https中打开,也可以在http中打开,不过我建议使用前者。
现代浏览器现在将阻止从https网站加载http资源(例如Plunk的预览)。您可以通过打开开发人员控制台来观察这一点,在那里您将看到有关被阻止的请求的消息。
您有两个选择:
通过(your plunk over http)
http方案的资源:<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"></script>
<script src="https://www.skulpt.org/static/skulpt.min.js" type="text/javascript"></script>
<script src="https://www.skulpt.org/static/skulpt-stdlib.js" type="text/javascript"></script> https://stackoverflow.com/questions/42144559
复制相似问题