update
This commit is contained in:
43
src/renderer/index.html
Normal file
43
src/renderer/index.html
Normal file
@@ -0,0 +1,43 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN" class="dark">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<!--
|
||||
CSP。注意两点:
|
||||
1. 不要放 frame-ancestors —— 按规范它在 <meta> 里会被忽略,只有 HTTP 响应头有效,
|
||||
Chromium 还会为此在控制台报一条 error(e2e 断言"零 console error"会因此变红)。
|
||||
这里也不需要它:窗口由主进程创建,nodeIntegration 关闭,不存在被外部页面嵌套的场景。
|
||||
2. worker-src 显式写出来。ELK 布局跑在 Web Worker 里,而 default-src 'none' 下
|
||||
worker-src 的回退链(worker-src → child-src → script-src)不够直观,
|
||||
写死 'self' 免得以后有人调 script-src 时把 worker 一起弄挂。
|
||||
-->
|
||||
<meta
|
||||
http-equiv="Content-Security-Policy"
|
||||
content="default-src 'none'; script-src 'self'; worker-src 'self'; style-src 'self' 'unsafe-inline'; font-src 'self' data:; img-src 'self' data:; connect-src 'self'; object-src 'none'; base-uri 'none'; form-action 'none';"
|
||||
/>
|
||||
<title>Python 耗时可视化分析</title>
|
||||
<!--
|
||||
主题早应用:在 main.tsx 之前同步读 localStorage,给 <html> 加 .light / .dark class。
|
||||
React 挂载前已经处于正确主题,避免整页白闪再变暗。
|
||||
必须 try/catch:file:// 协议下某些 Electron 配置下 localStorage 抛 SecurityError。
|
||||
-->
|
||||
<script>
|
||||
try {
|
||||
var t = localStorage.getItem('pyrof.theme')
|
||||
if (t === 'light') {
|
||||
document.documentElement.classList.remove('dark')
|
||||
document.documentElement.classList.add('light')
|
||||
} else {
|
||||
document.documentElement.classList.add('dark')
|
||||
}
|
||||
var l = localStorage.getItem('pyrof.lang')
|
||||
if (l === 'en-US') document.documentElement.lang = 'en-US'
|
||||
} catch (_) {}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user