当 Brython 将与 Javascript 共存时,我们必须处理过渡期;-)
从 Javascript 访问 Brython 对象
默认情况下,Brython 仅在全局 Javascript 命名空间中公开两个名称:
brython():在页面加载时运行的功能
BRYTHON: Brython 内部使用的对象,用于存储脚本执行所需的对象
因此,默认情况下,Javascript 程序无法访问 Brython 对象。例如,对于echo()在 Brython 脚本中定义的函数来响应页面中元素上的事件,而不是使用常规的 javascript 语法:
(因为 brython 函数echo无法从 Javascript 访问),解决方案是为元素设置一个 id:
from browser import document
document['mybutton'].bind('click', echo)
另一种选择是通过在模块浏览器中将其定义为对象的属性 来强制在 Javascript 命名空间中引入名称echo: window
from browser import window
window.echo = echo
注意:不推荐使用此方法,因为它引入了与页面中使用的 Javascript 程序或库中定义的名称发生冲突的风险。
Javascript