努力したWiki

推敲の足りないメモ書き多数

ユーザ用ツール

サイト用ツール


documents:tools:assistantseika:interface:http:http-002

Chromeブラウザ で利用

URL http://localhost:7180/app/index.html で表示させます。
画面表示直後とボタン押下時にcidが2000の話者で発声します。

色々ありChromeのリモートデバッグ機能を使ってみたのですが、

  • いわゆる onloadのイベントもaddEventListenerを使えば動いてます。
  • alert()の表示はデバッグ対象ウインドウ側に出てきますね。デバッグコンソール側には出ません。
  • どちら側でも“アカネチャンカイワイイヤッター”ボタンは押せました。
  • /app/index.htmlの読み込み時に認証がかかるのでコードで定義するheadersオブジェクトは空でいいかも。

Chromeのリモートデバッグ機能利用

/app/index.html を取得する時にBASIC認証のダイアログが出て、入力した情報はfetch APIにも引き継がれます。認証用のリクエストヘッダを付与せずとも問題ないです。


AssistantSeikaの設定

D:\Work\app に index.htmlを格納しています。

HTML+JavaScript

これを AssistantSeikaのドキュメントルートのフォルダにコピーします。

index.html
<!doctype html>
<html>
  <head>
    <meta charset="utf-8"/>
 
    <script>
      async function calltts()	
      {
        var bodyJson    = {"talktext":"アカネチャンカワイイヤッター"};
        var headers     = {
                            'Authorization' : 'Basic ' + btoa(unescape(encodeURIComponent( "SeikaServerUser" + ":" + "SeikaServerPassword" ))),
                            'Content-Type'  : 'application/json'
                          };
        var fetchopt    = { mode: 'cors', credentials: 'include', method: 'POST', body: JSON.stringify(bodyJson), headers: headers};
        var res  = await fetch("http://localhost:7180/PLAY2/2000", fetchopt);
        var json = await res.json();
 
        alert("Very Cute!");
      }
 
      window.addEventListener('load', calltts);
 
    </script>
  </head>
 
  <body>
     <button id="kawaii">アカネチャンカイワイイヤッター</button>
     <script>
       document.getElementById('kawaii').addEventListener('click', calltts);
     </script>
  </body>
</html>
documents/tools/assistantseika/interface/http/http-002.txt · 最終更新: 2023/11/05 20:49 by k896951

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki