似乎初始化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>
最佳答案
函数brython()
搜索具有属性type="text/python"
的所有脚本并在其中执行Python代码。
在您的示例中,当您调用函数时,Python脚本还没有加载,因此它没有被找到并因此被执行也就不足为奇了。如果将Javascript程序放在Python脚本之后,它将按预期工作。