我有一个网页,允许我将串行命令发送到我的覆盆子pi上的串口。主页面是html,它有图像,当我点击图像javascript调用cgi文件发送命令到串行。一切都在桌面浏览器上正常工作,当我按下图像即时停留在同一页面上,但是当我在iphone或ipad上执行此操作时,它会将我重定向到cgi文件的位置。 这是我的代码 的 1。 HTML
<img src="img/sound.png" alt="sound" id="sound_b" ontouchstart="changeImageSound(), sound()" ontouchend="changeImageSound()">
2.JavaScript
function sound() {
document.location="helpers/sound.cgi";
}
3.cgi
#!/usr/bin/python
print "Status: 204 No Content"
print "Content-type: text/plain"
print ""
import cgi
import serial
import time
# Open a serial connection to Roomba
ser = serial.Serial(port='/dev/ttyUSB0', baudrate=115200)
# Assuming the robot is awake, start safe mode so we can hack.
ser.write('\x83')
time.sleep(.1)
# Program a five-note start song into Roomba.
ser.write('\x8c\x00\x05C\x10H\x18J\x08L\x10O\x20')
# Play the song we just programmed.
ser.write('\x8d\x00')
time.sleep(1.6) # wait for the song to complete
# Leave the Roomba in passive mode; this allows it to keep
# running Roomba behaviors while we wait for more commands.
ser.write('\x80')
# Close the serial port; we're done for now.
ser.close()
答案 0 :(得分:0)
您只需将其添加到您的Javascript代码
即可event.preventDefault();
答案 1 :(得分:0)
你可以将下面提到的javascript代码添加到声音函数中,但它需要内部的事件对象。否则你可以直接在ontouchstart中使用它
event.preventDefault();