HTML GUI中Javascript的QPython3问题

HTML GUI中Javascript的QPython3问题,javascript,android,qpython3,Javascript,Android,Qpython3,QPython3,安卓6.0;我猜JS不能实例var droid=new Android(); 有解决问题的提示吗 Python代码(两种情况下相同!): HTML代码:test10_le_HTMLGUI_01.HTML(案例1): 证明:如果注释掉droid.eventPost('Event1',t,1)行,那么eventWaitFor()将永远阻塞 也许我们在这方面也有类似的问题 而且 问候 古斯塔夫(2017-03-21)使用瓶子()代替JavaScript。它已经集成在QPython3中

QPython3,安卓6.0;我猜JS不能实例var droid=new Android(); 有解决问题的提示吗

Python代码(两种情况下相同!):

HTML代码:test10_le_HTMLGUI_01.HTML(案例1):

证明:如果注释掉droid.eventPost('Event1',t,1)行,那么eventWaitFor()将永远阻塞

也许我们在这方面也有类似的问题 而且

问候 古斯塔夫(2017-03-21)

使用瓶子()代替JavaScript。它已经集成在QPython3中,并为几乎相同的任务提供解决方案。 在以下位置查找瓶子()的教程:

问候
古斯塔夫

我遇到了同样的问题。据我所知,至少在最新版本中,当使用webview时,需要通过调用JavascriptAddInterface添加Android界面,而从SL4A源代码来看,似乎没有。 太糟糕了

import android

droid=android.Android()

droid.webViewShow('file:///storage/emulated/0/qpython/scripts3/test10_le_HTMLGUI_01.html')

while True:
    result=droid.eventWaitFor('sag').result
    droid.ttsSpeak(result['data'])
<html>
  <head>
    <title>Text To Speech</title>
    <script>
      var n = prompt("Hello JavaScript","");
      var droid = new Android();
      var speak = function() { 
        var n = prompt("Hello JavaScript","");
        droid.eventPost("sag", document.getElementById("sag").value, 1);
      }
    </script>
  </head>
  <body>
    <form onsubmit="speak(); return false;">
      <label for="sag">What is your message?</label>
      <input type="text" id="sag" />
      <input type="submit" value="Speak" />
    </form>
  </body>
</html>
<html>
  <head>
    <title>Text To Speech</title>
    <script>
      var droid = new Android();
      var n = prompt("Hello JavaScript","");
      var speak = function() { 
        var n = prompt("Hello JavaScript","");
        droid.eventPost("sag", document.getElementById("sag").value, 1);
      }
    </script>
  </head>
  <body>
    <form onsubmit="speak(); return false;">
      <label for="sag">What is your message?</label>
      <input type="text" id="sag" />
      <input type="submit" value="Speak" />
    </form>
  </body>
</html>
import android, time
droid=android.Android()
t = 'Geschafft!'
print('debug 1')
droid.eventPost('Event1', t, 1)
print('debug 2')
print('debug 3')
result=droid.eventWaitFor('Event1').result
droid.ttsSpeak(result['data'])
print('debug 4')
print(result['data'])