JJJJJllll
commited on
Commit
·
45056f2
1
Parent(s):
291d3ab
ry again
Browse files
app.py
CHANGED
|
@@ -109,53 +109,41 @@ with gr.Blocks(
|
|
| 109 |
) as demo:
|
| 110 |
|
| 111 |
gr.HTML("""
|
| 112 |
-
<style>
|
| 113 |
-
#dark-loader {
|
| 114 |
-
position: fixed;
|
| 115 |
-
inset: 0;
|
| 116 |
-
background: #0b1020;
|
| 117 |
-
z-index: 2147483647; /* 顶层 */
|
| 118 |
-
opacity: 1;
|
| 119 |
-
transition: opacity .3s ease;
|
| 120 |
-
}
|
| 121 |
-
#dark-loader.hidden { opacity: 0; pointer-events: none; }
|
| 122 |
-
</style>
|
| 123 |
-
<div id="dark-loader"></div>
|
| 124 |
<script>
|
| 125 |
(function(){
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
|
|
|
|
|
|
|
|
|
| 133 |
}
|
| 134 |
|
| 135 |
-
//
|
| 136 |
-
|
| 137 |
-
setTimeout(hideCover, 300);
|
| 138 |
-
}
|
| 139 |
|
| 140 |
-
//
|
| 141 |
-
|
|
|
|
| 142 |
|
| 143 |
-
//
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
clearInterval(iv);
|
| 151 |
-
}
|
| 152 |
-
}, 50);
|
| 153 |
})();
|
| 154 |
</script>
|
| 155 |
""")
|
| 156 |
|
| 157 |
|
| 158 |
|
|
|
|
| 159 |
gr.HTML(topbar())
|
| 160 |
|
| 161 |
with gr.Row():
|
|
|
|
| 109 |
) as demo:
|
| 110 |
|
| 111 |
gr.HTML("""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 112 |
<script>
|
| 113 |
(function(){
|
| 114 |
+
// —— 核心:禁止任何 #dark-loader 存活 ——
|
| 115 |
+
function nukeDarkLoader(root){
|
| 116 |
+
const kill = el => { try { el.remove(); } catch(e){} };
|
| 117 |
+
// 当前文档里
|
| 118 |
+
document.querySelectorAll('#dark-loader').forEach(kill);
|
| 119 |
+
// gradio-app 的 shadow 里
|
| 120 |
+
const host = document.querySelector('gradio-app');
|
| 121 |
+
if (host && host.shadowRoot) {
|
| 122 |
+
host.shadowRoot.querySelectorAll('#dark-loader').forEach(kill);
|
| 123 |
+
}
|
| 124 |
}
|
| 125 |
|
| 126 |
+
// 先清一次(防止被提前插入)
|
| 127 |
+
nukeDarkLoader(document);
|
|
|
|
|
|
|
| 128 |
|
| 129 |
+
// 监听整个文档树,发现 #dark-loader 就立即移除(解决“后来盖黑”)
|
| 130 |
+
const obs = new MutationObserver(() => nukeDarkLoader(document));
|
| 131 |
+
obs.observe(document.documentElement, { childList: true, subtree: true });
|
| 132 |
|
| 133 |
+
// Safari 前后台切换/iframe重挂载也再清一次
|
| 134 |
+
document.addEventListener('visibilitychange', () => {
|
| 135 |
+
if (document.visibilityState === 'visible') nukeDarkLoader(document);
|
| 136 |
+
});
|
| 137 |
+
|
| 138 |
+
// 5 秒兜底,防止偶发没清干净
|
| 139 |
+
setTimeout(()=> nukeDarkLoader(document), 5000);
|
|
|
|
|
|
|
|
|
|
| 140 |
})();
|
| 141 |
</script>
|
| 142 |
""")
|
| 143 |
|
| 144 |
|
| 145 |
|
| 146 |
+
|
| 147 |
gr.HTML(topbar())
|
| 148 |
|
| 149 |
with gr.Row():
|