はじめに
WebView は、チャートやインジケーター出力ウィンドウにウェブページを表示するためのコントロールです。
WebView は Microsoft Edge WebView2 に基づいています。そのため、すべての最新のウェブ標準と完全に互換性があります。
また、ページ上で JavaScript コードを実行し、結果を WebView 経由で取得することもできます。
注意
WebView は .NET 6 以降のインジケーターおよび cBots でのみ動作します。
cTrader での WebView の使用方法
例として、cTrader.com のウェブサイトをウィンドウとメインチャート内に表示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
以下のインジケーターのインスタンスを作成すると、cTrader.com のさまざまなウェブページをナビゲートできるようになります。選択した出力ウィンドウは、ウェブブラウザのように動作します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 |
|
スクリプトの使用方法とメッセージイベントの処理
<code class=”highlight”>WebView</code> クラスには、<code class=”highlight”>ExecuteScript()WebMessageReceived
スクリプトの実行
WebView内でカスタムスクリプトを実行するには、以下のように<code class=”highlight”>WebView.ExecuteScript(String javaScript)
1 2 |
|
WebView内で実行する必要があるスクリプトは、単純に<code class=”highlight”>ExecuteString()
この文字列には完全に正確なJavaScriptを含める必要があります。例えば、すべての実行可能な行の後にセミコロンを含める必要があります。
複数行のJavaScript
以下の例のように、<code class=”highlight”>ExecuteScript()
1 2 3 4 |
|
メッセージイベントの処理
<code class=”highlight”>WebMessageReceived
1 2 3 4 5 6 |
|
WebViewからメッセージを送信するには、HTMLページ内のJavaScriptコードから<code class=”highlight”>window.postMessage()
1 2 3 4 5 |
|
変数と文字列補間
<code class=”highlight”>ExecuteScript()
1 2 |
|
WebView内にコントロールを配置
<code class=”highlight”>ExecuteScript()OnWebMessageReceived
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
|
WebViewを通じて、cBotは新しい注文を出すためのコントロールを含むカスタムHTMLページを開きます。<code class=”highlight”>SendSymbolsToHtml()