<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{ title }}</title> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- 新 Bootstrap4 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.1.0/css/bootstrap.min.css"> <!-- jQuery文件。务必在bootstrap.min.js 之前引入 --> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <!-- popper.min.js 用于弹窗、提示、下拉菜单 --> <script src="https://cdn.bootcss.com/popper.js/1.12.5/umd/popper.min.js"></script> <!-- 最新的 Bootstrap4 核心 JavaScript 文件 --> <script src="https://cdn.bootcss.com/bootstrap/4.1.0/js/bootstrap.min.js"></script> <!--可用來建立使用者小圖示--> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <style> body { margin: 0; } .navbar-dark .navbar-nav .nav-link { color: white; cursor: pointer; text-decoration: none; width: 110px; height: 46px; } .nav-top { line-height: 40px; background-color: #C4C4C4; } .website_title { font-family: Roboto; font-style: normal; font-weight: normal; font-size: 30px; color: #000000; } .navbar-nav>li { float: none; display: inline-block; width: 100px; margin: 0 auto; text-align: center; } .navbar-nav>li a { font-size: 20px; } .main-page { margin-top: 200px; } .page-title { font-family: Roboto; font-style: normal; font-weight: bold; font-size: 36px; } .flex { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; } .set-link { display: inline-block; width: 350px; height: 100px; line-height: 100px; background: #008CBA; border: 1px solid #CFCFCF; box-sizing: border-box; color: #FFFFFF; border-radius: 10px; font-size: 36px; } .cmn-toggle { position: absolute; margin-left: 0px; visibility: hidden; } .cmn-toggle+label { display: block; position: relative; cursor: pointer; outline: none; user-select: none; } input.cmn-toggle-round-flat+label { padding: 2px; width: 60px; height: 30px; background-color: #C0C0C0; border-radius: 60px; transition: background 0.4s; } input.cmn-toggle-round-flat+label:before, input.cmn-toggle-round-flat+label:after { display: block; position: absolute; content: ""; } input.cmn-toggle-round-flat+label:before { top: 2px; left: 2px; bottom: 2px; right: 2px; background-color: #fff; border-radius: 60px; transition: background 0.4s; } input.cmn-toggle-round-flat+label:after { top: 4px; left: 4px; bottom: 4px; width: 24px; background-color: #dddddd; border-radius: 52px; transition: margin 0.4s, background 0.4s; } input.cmn-toggle-round-flat:checked+label { background-color: #C0C0C0; } input.cmn-toggle-round-flat:checked+label:after { margin-left: 27px; background-color: #008CBA; } @media(max-width:373px) { .card { margin-right: 0px; } .set-link { width: 250px; } } @media(max-width:577px) {} @media(min-width:576px) {} @media(min-width:768px) { .navbar-nav>li { margin-left: 0px; } .navbar-nav .li-block { display: none; } } @media(min-width:991px) { .navbar-nav>li { margin-left: 20px; } .navbar-nav .li-block { display: none; } } @media(min-width:1200px) { .navbar-nav>li { margin-left: 50px; } .navbar-nav .li-block { display: inline-block; width: 100px; } } @media(min-width:1400px) { .navbar-nav .li-block { display: inline-block; width: 200px; } } @media(min-width:1689px) { .navbar-nav>li { margin-left: 50px; } .navbar-nav .li-block { display: inline-block; width: 500px; } } </style> <script language="JavaScript"> var tid = '{{tid}}'; var WS_URL = '{{WS_URL}}'; var camera_title = '{{camera_title}}'; console.log('tid:' + tid) $(document).ready(function (){ $("#camera_dry_title").text("M5 攝影機畫面_" + camera_title + " " + tid); }); </script> </head> <body> <div id="camera_dry_title" style="text-align: center; margin-top: 30px; font-size: 24px;"> M5 攝影機畫面 </div> <div class="container-fluid"> <div class="row" style="margin-top:50px;"> <div class="col flex"> <div class="col-md-12 row flex" style="text-align:center;margin-top:5px;"> <div class="col-md-12 row flex"> <img src="" id="four" width="90%" height="90%"> </div> </div> <script> // M5 攝影機 //const img = document.querySelector('#one'); const img3 = document.querySelector('#four'); //const WS_URL3 = 'ws:///60.250.156.230:0000'; const WS_URL3 = WS_URL; const ws3 = new WebSocket(WS_URL3); let urlObject3; ws3.onopen = () => console.log(`Connected to ${WS_URL3}`); ws3.onmessage = message3 => { const arrayBuffer3 = message3.data; if (urlObject3) { URL.revokeObjectURL(urlObject3); } urlObject3 = URL.createObjectURL(new Blob([arrayBuffer3])); img3.src = urlObject3; } </script> </div> </div> </div> </body> </html>