2017-02-09 5 views
0

Я новичок в Plunker, так что это может быть вопрос о нобе ... Но я действительно долго боролся и еще не понял.Пример склепа не работает в Plunker

Я попытался проверить код примера, опубликованный на главном сайте Skulpt в Plunker, но он просто не работал. Но он работал на локальном сервере. 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> 

ответ

0

Ваш код запрашивает http ресурсы и выполняются из версии Plunker https. Редактор Plunker можно открыть либо в https, либо в http, хотя я поощряю его.

Современные браузеры теперь блокируют загрузку http ресурсов с сайта https (например, предварительный просмотр вашего Plunk). Это можно увидеть, открыв консоль разработчика, где вы увидите сообщения о заблокированных запросах.

У вас есть два варианта:

  1. Откройте сохраненный шлепнуть через http (your plunk over http)
  2. Настройте ресурсы, которые ваши запросы шлепнуть, чтобы прибыть из https:// схемы:
<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> 
+0

Спасибо много! Он работает: D –

+0

Рад это услышать. Пожалуйста, подумайте о принятии ответа, если это так, Лян Йи. – filearts

Смежные вопросы