diff --git a/index.html b/index.html
index 569836a..23b037d 100644
--- a/index.html
+++ b/index.html
@@ -135,39 +135,7 @@
el('dbgClose').addEventListener('click', function () { el('dbgPanel').classList.remove('open'); });
el('dbgClear').addEventListener('click', function () { el('dbgLog').innerHTML = ''; dbgCount = 0; el('dbgCount').textContent = ''; });
- // 复制日志:拼纯文本(时间 + 内容),Clipboard API 优先,失败/不可用则降级 execCommand
- function copyWithFallback(text) {
- try {
- var ta = document.createElement('textarea');
- ta.value = text; ta.style.position = 'fixed'; ta.style.opacity = '0';
- document.body.appendChild(ta); ta.select();
- var ok2 = document.execCommand('copy');
- document.body.removeChild(ta);
- return !!ok2;
- } catch (e) {
- return false;
- }
- }
- // 终极大兜底:两种 API 都失败时,弹出一个可全选/长按的文本区让用户手动复制
- function manualCopy(text) {
- dbg('自动复制不可用,弹出文本区请长按/全选复制 ↓', 'warn');
- var box = el('dbgManual');
- if (!box) {
- box = document.createElement('div');
- box.id = 'dbgManual';
- box.style.cssText = 'position:fixed;left:10px;right:10px;top:10px;z-index:300;background:#fff;border:2px solid #F4593C;border-radius:12px;padding:10px;box-shadow:0 6px 20px rgba(0,0,0,.3);max-height:70vh;display:flex;flex-direction:column';
- box.innerHTML = '
' +
- '手动复制日志' +
- '
' +
- '' +
- '提示:微信里长按文本 → 全选 → 复制。
';
- document.body.appendChild(box);
- el('dbgManualClose').addEventListener('click', function () { box.parentNode.removeChild(box); });
- var t = el('dbgManualText');
- setTimeout(function () { t.focus(); t.select(); }, 300);
- }
- }
+ // 复制日志:隐藏 textarea + execCommand('copy'),微信 webview 通用做法
el('dbgCopy').addEventListener('click', function () {
var text = '';
var lns = el('dbgLog').querySelectorAll('.ln');
@@ -177,11 +145,17 @@
}
text = '[wx-h5-demo 调试日志 v' + VER + ']\n' + text;
function ok() { dbg('已复制 ' + lns.length + ' 条日志到剪贴板', 'ok'); }
- function fallback() { if (copyWithFallback(text)) ok(); else manualCopy(text); }
- if (navigator.clipboard && navigator.clipboard.writeText) {
- navigator.clipboard.writeText(text).then(ok, function () { fallback(); });
- } else {
- fallback();
+ try {
+ var ta = document.createElement('textarea');
+ ta.value = text;
+ ta.style.cssText = 'position:fixed;top:0;left:0;opacity:0;height:1px;width:1px;overflow:hidden';
+ document.body.appendChild(ta);
+ ta.select();
+ var did = document.execCommand('copy');
+ document.body.removeChild(ta);
+ if (did) ok(); else dbgErr('复制失败(execCommand 返回 false)');
+ } catch (e) {
+ dbgErr('复制失败: ' + (e && e.message ? e.message : e));
}
});