似乎初始化brython需要像这样完成:
<body onload="brython()">
我尝试在链接brython.js之后在另一个<script>
中调用js中的brython(),但它似乎没有被调用。
当我最终在浏览器控制台中调用brython时,它会调用brython,甚至执行我的python代码。
为了给出不起作用的完整示例,这是一个例子。我可能缺乏关于如何以及何时编译和执行javascript的一些基本知识......
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="/js/brython.js"></script>
</head>
<!-- <body onload="brython()"> -->
<body>
<script type="text/javascript">
console.log("calling brython() here");
brython();
console.log("I just called brython()");
</script>
<script type="text/python">
from browser import document, alert
def echo(*args):
alert("Hello {} !".format(document["zone"].value))
document["test"].bind("click", echo)
print("what")
</script>
<p>Your name is : <input id="zone" autocomplete="off">
<button id="test">clic !</button>
</body>
</html>
答案 0 :(得分:1)
函数brython()
使用属性type="text/python"
搜索所有脚本,并在其中执行Python代码。
在您的示例中,在您调用该函数时,Python脚本尚未加载,因此未找到并因此执行它并不奇怪。如果您在 Python脚本之后放置了Javascript程序,它将按预期工作。