Просмотр исходного кода

move Notification.requestPermission() entirely to javascript to possibly fix problem with secure context people are having on non-localhost

AUTOMATIC 2 лет назад
Родитель
Сommit
3582befdcd
2 измененных файлов с 14 добавлено и 2 удалено
  1. 12 0
      javascript/notification.js
  2. 2 2
      modules/ui.py

+ 12 - 0
javascript/notification.js

@@ -2,7 +2,19 @@
 
 let lastHeadImg = null;
 
+notificationButton = null
+
 onUiUpdate(function(){
+    if(notificationButton == null){
+        notificationButton = gradioApp().getElementById('request_notifications')
+
+        if(notificationButton != null){
+            notificationButton.addEventListener('click', function (evt) {
+                Notification.requestPermission();
+            },true);
+        }
+    }
+
     const galleryPreviews = gradioApp().querySelectorAll('img.h-full.w-full.overflow-hidden');
 
     if (galleryPreviews == null) return;

+ 2 - 2
modules/ui.py

@@ -857,12 +857,12 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo):
             outputs=[result]
         )
 
-        request_notifications = gr.Button(value='Request browser notifications')
+        request_notifications = gr.Button(value='Request browser notifications', elem_id="request_notifications")
         request_notifications.click(
             fn=lambda: None,
             inputs=[],
             outputs=[],
-            _js='() => Notification.requestPermission()'
+            _js='function(){}'
         )
 
     interfaces = [