Как нажать две кнопки одинакового значения на двух разных страницах через сокеты? - PullRequest
0 голосов
/ 10 марта 2019

У меня есть файл клиента, который является файлом 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)
...