2026-04-23 16:23:40 +08:00
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="zh-CN">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<title>跨端测试</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<h1>WebView2 自定义协议演示</h1>
|
|
|
|
|
<button id="getUserBtn">获取用户信息</button>
|
|
|
|
|
<button id="processBtn">处理数据</button>
|
2026-04-24 11:56:02 +08:00
|
|
|
<button id="wBtn">天气数据</button>
|
2026-04-23 16:23:40 +08:00
|
|
|
<pre id="output"></pre>
|
|
|
|
|
|
|
|
|
|
<script src="./api.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
const output = document.getElementById('output');
|
|
|
|
|
|
|
|
|
|
document.getElementById('getUserBtn').onclick = async () => {
|
|
|
|
|
try {
|
|
|
|
|
const result = await window.api.getUser();
|
|
|
|
|
output.textContent = JSON.stringify(result, null, 2);
|
|
|
|
|
} catch (err) {
|
|
|
|
|
output.textContent = `错误: ${err.message}`;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
document.getElementById('processBtn').onclick = async () => {
|
|
|
|
|
try {
|
|
|
|
|
const result = await window.api.processData('hello world');
|
|
|
|
|
output.textContent = JSON.stringify(result, null, 2);
|
|
|
|
|
} catch (err) {
|
|
|
|
|
output.textContent = `错误: ${err.message}`;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2026-04-24 11:56:02 +08:00
|
|
|
document.getElementById('wBtn').onclick = async () => {
|
|
|
|
|
try {
|
|
|
|
|
const result = await window.api.wData('hello world');
|
|
|
|
|
output.textContent = JSON.stringify(result, null, 2);
|
|
|
|
|
} catch (err) {
|
|
|
|
|
output.textContent = `错误: ${err.message}`;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2026-04-23 17:49:55 +08:00
|
|
|
const detectIsWebView2 = () => window.isWebView2 === true || typeof window.invokeCSharpAction === 'function';
|
|
|
|
|
|
|
|
|
|
const renderEnvironment = () => {
|
|
|
|
|
const isWV2 = detectIsWebView2();
|
|
|
|
|
const existing = document.getElementById('envTip');
|
|
|
|
|
if (existing) {
|
|
|
|
|
existing.textContent = `当前环境: ${isWV2 ? 'WebView2 (自定义协议)' : '普通浏览器 (HTTP API)'}`;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
document.body.insertAdjacentHTML('beforeend', `<p id="envTip">当前环境: ${isWV2 ? 'WebView2 (自定义协议)' : '普通浏览器 (HTTP API)'}</p>`);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
renderEnvironment();
|
|
|
|
|
setTimeout(renderEnvironment, 300);
|
2026-04-23 16:23:40 +08:00
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|