У меня есть файл клиента, который является файлом HTML, и файл сервера, который является файлом Python.
У меня есть две кнопки в файле клиента. Когда я открываю два окна для файла клиента, они соединяются вместе сервером.
Теперь, когда я нажимаю кнопку со значением 1 на клиенте в одном окне, в другом окне автоматически нажимается та же кнопка с тем же значением.
Как я могу проверить кнопки на двух окнах, чтобы они нажимались при нажатии одной кнопки, поэтому другая должна автоматически нажиматься
Я знаю, что должен использовать сокеты, которых нет в моем коде.
Может кто-нибудь подсказать мне, как мне этого добиться?
Страница клиента получает значения кнопок с другой HTML-страницы, которую я не включаю.
Я хотел бы знать, какую концепцию мне следует использовать?
pass.html
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.8/socket.io.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<meta charset="UTF-8">
<title>Pass</title>
<style>.tictac{
width:200px;
height:200px;
padding: 5px;
font-weight: bold;
cursor: pointer;
border-radius: 5px;
border: 1px solid #D9D9D9;
font-size: 200%;
}
</style>
</head>
<body>
<center>
<br><br>
<form>
<input type="button" id="sq1" name="sqrone" class="tictac" value = {{sqrone}} onclick="onClickHandler(this)" onClick="sendMsg()"/>
<input type="button" id="sq2" name="sqrtwo" class="tictac" value = {{sqrtwo}} onclick="onClickHandler(this)" onClick="sendMsg()"/>
</form>
</center>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.3/socket.io.min.js"></script>
<script type="text/javascript">
function onClickHandler(elem) {
elem.style.background = 'red';
elem.style.color = 'black';
}
</script>
</body>
</html>
app.py
from flask import Flask, render_template, request
from flask_socketio import SocketIO
app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecret'
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/', methods=['POST'])
def getvalue():
sqrone = request.form['sqrone']
sqrtwo = request.form['sqrtwo']
return render_template('pass.html', sqrone=sqrone, sqrtwo=sqrtwo)
def contact():
if request.form.get('sqrone') == '1':
pass #button click function in python
elif request.form.get('sqrtwo') == '2':
pass #button click function in python
return render_template('pass.html', )
if __name__ == '__main__':
app.run(debug=True)