Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.11.2018, 15:04
Новичок на форуме
Отправить личное сообщение для usermenjs Посмотреть профиль Найти все сообщения от usermenjs
 
Регистрация: 13.11.2018
Сообщений: 9

Работа js в Tempermonkey в фоновом режиме
Добрый день. Не могу понять почему мой скрипт работает нормально когда страница в фокусе , а когда в фоновом режиме, то начинаются проблемы с работой скрипта. Кто сталкивался с этой проблемой, напишите как её решить, работаю в ХРОМЕ.
(function() {
   'use strict';

   // Your code here...
   var timerId;
   var trigger = false;

   function finder() {
       var iframe = document.getElementsByTagName('iframe')[0];
       var iframeDoc = iframe.contentWindow.document;
       var listBox = iframeDoc.querySelectorAll('tr > td > nobr:last-child');
       for (var i = 0; i < listBox.length; i++) {
           var str = listBox[i].innerHTML;
           if (str.indexOf('+1') != -1 || str.indexOf('+2') != -1) {
               if (!trigger) {
                   document.title = 'БЕРИ!!!';
                   trigger = true;
                   console.log('+');
                   return;
               } else {return;}
           }}
       trigger = false;
       document.title = 'Пусто';
   }

   function load() {
   var iframe = document.getElementsByTagName('iframe')[0];
   var iframeDoc = iframe.contentWindow.document;
   if (iframeDoc.readyState == 'complete') {
       iframeDoc.getElementsByClassName('ms-crm-List-Sortable')[8].click();
       //console.log(iframeDoc.getElementsByClassName('ms-crm-List-Sortable')[8]); !!!!!!!!!!
   } else {
       iframe.onload = function() {
           var iframeDoc2 = iframe.contentWindow.document;
           //console.log(iframeDoc2.readyState);
           iframeDoc2.getElementsByClassName('ms-crm-List-Sortable')[8].click();}
   }
   setTimeout(function(){finder()}, 5000);
   }
   var globalTimer = setInterval(function(){load()}, 9000);
})()


Когда фоновый режим тогда Сеттаймаут работает не корректно
Изображения:
Тип файла: jpg setTimeout.jpg (112.5 Кб, 7 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 20.11.2018, 16:06
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

У вас страница засыпает, потому что это улучшение новых браузеров, которые могут замедлить или остановить работу в фоновых вкладках, чтобы продлить срок службы батареи или улучшить общую производительность работы браузера.

Worker не засыпает, если вам нужны возможности фонового режима, используйте фоновый режим!

пример с засыпанием (предпочтительный)
// ==UserScript==
// @name         Timeout
// @namespace    [url]http://tampermonkey.net/[/url]
// @version      0.1
// @description  try to take over the frequency!
// @author       Malleys
// @match        *://*/*
// @grant        none
// ==/UserScript==

{
    let lastTime = performance.now();

    (function loop() {
        let f = 1000 / (performance.now() - lastTime) | 0;
        lastTime = performance.now();

        document.title = `${f}Hz`;
        setTimeout(loop, 10);
    })();
}


пример без засыпания
// ==UserScript==
// @name         Timeout & Worker
// @namespace    [url]http://tampermonkey.net/[/url]
// @version      0.1
// @description  take over the frequency! Here we go!
// @author       Malleys
// @match        *://*/*
// @grant        none
// ==/UserScript==

{
    const workerCode = `
        let lastTime = performance.now();

        (function loop() {
            let f = 1000 / (performance.now() - lastTime) | 0;
            lastTime = performance.now();

            postMessage(f);
            setTimeout(loop, 10);
        })();
    `;

    const blob = new Blob([workerCode], { type: "application/javascript" });
    const worker = new Worker(URL.createObjectURL(blob));

    worker.onmessage = ({ data }) => {
        document.title = `${data}Hz`;
    };
}
Ответить с цитированием
  #3 (permalink)  
Старый 20.11.2018, 17:34
Новичок на форуме
Отправить личное сообщение для usermenjs Посмотреть профиль Найти все сообщения от usermenjs
 
Регистрация: 13.11.2018
Сообщений: 9

СПАСИБО ОГРОМНОЕ.
Спасибо вам огромное, вы даже не представляете как вы мне помогли я целую неделю ломал голову как исправить это, этот пост на форуме был как крик надежды .
Пользуясь моментом , хотел ещё спросить кое что .
Представленный скрипт выше оповещает о изменение с помощью мигающего титла . У меня есть вариант функции оповещения .

1.
function beeper() {
       var audio = new Audio();
       audio.src = 'http://noisefx.ru/noise_base/21/10520.mp3';
       audio.autoplay = true;
   }

2.
function beep() {
   var snd = new Audio("dat a:audio/wav;base64,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qJrx4KOQjahZxWbcZgztj2c49nKmkId44S71j0c8eV9yDK6uPRzx5X18eDvjvQ6yKo9ZSS6l//8elePK/Lf//IInrOF/FvDoADYAGBMGb7FtErm5MXMlmPAJQVgWta7Zx2go+8xJ0UiCb8LHHdftWyLJE0QIAIsI+UbXu67dZMjmgDGCGl1H+vpF4NSDckSIkk7Vd+sxEhBQMRU8j/12UIRhzSaUdQ+rQU5kGeFxm+hb1oh6pWWmv3uvmReDl0UnvtapVaIzo1jZbf/pD6ElLqSX+rUmOQNpJFa/r+sa4e/pBlAABoAAAAA3CUgShLdGIxsY7AUABPRrgCABdDuQ5GC7DqPQCgbbJUAoRSUj+NIEig0YfyWUho1VBBBA//uQZB4ABZx5zfMakeAAAAmwAAAAF5F3P0w9GtAAACfAAAAAwLhMDmAYWMgVEG1U0FIGCBgXBXAtfMH10000EEEEEECUBYln03TTTdNBDZopopYvrTTdNa325mImNg3TTPV9q3pmY0xoO6bv3r00y+IDGid/9aaaZTGMuj9mpu9Mpio1dXrr5HERTZSmqU36A3CumzN/9Robv/Xx4v9ijkSRSNLQhAWumap82WRSBUqXStV/YcS+XVLnSS+WLDroqArFkMEsAS+eWmrUzrO0oEmE40RlMZ5+ODIkAyKAGUwZ3mVKmcamcJnMW26MRPgUw6j+LkhyHGVGYjSUUKNpuJUQoOIAyDvEyG8S5yfK6dhZc0Tx1KI/gviKL6qvvFs1+bWtaz58uUNnryq6kt5RzOCkPWlVqVX2a/EEBUdU1KrXLf40GoiiFXK///qpoiDXrOgqDR38JB0bw7SoL+ZB9o1RCkQjQ2CBYZKd/+VJxZRRZlqSkKiws0WFxUyCwsKiMy7hUVFhIaCrNQsKkTIsLivwKKigsj8XYlwt/WKi2N4d//uQRCSAAjURNIHpMZBGYiaQPSYyAAABLAAAAAAAACWAAAAApUF/Mg+0aohSIRobBAsMlO//Kk4soosy1JSFRYWaLC4qZBYWFRGZdwqKiwkNBVmoWFSJkWFxX4FFRQWR+LsS4W/rFRb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VEFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU291bmRib3kuZGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAwNGh0dHA6Ly93d3cuc291bmRib3kuZGUAAAAAAAAAACU=");
   snd.play();}


В первом варианте ошибка (Mixed Content: The page at 'https://??????????#928797945' was loaded over HTTPS, but requested an insecure audio file 'http://noisefx.ru/noise_base/21/10520.mp3'. This content should also be served over HTTPS.

Второй вариант так же ошибку выдает (Uncaught (in promise) DOMException: Failed to load because no supported source was found.)

Подскажите как исправить или посоветуйте другой метод вызова аудио.

Ещё раз Спасибо.
Ответить с цитированием
  #4 (permalink)  
Старый 20.11.2018, 18:05
Новичок на форуме
Отправить личное сообщение для usermenjs Посмотреть профиль Найти все сообщения от usermenjs
 
Регистрация: 13.11.2018
Сообщений: 9

Malleys,
Помогите пожалуйста ещё немножко .
Ответить с цитированием
  #5 (permalink)  
Старый 20.11.2018, 18:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

usermenjs,
ссылку на mp3 можно на 'https://noisefx.ru/noise_base/21/10520.mp3'; сделать?
Ответить с цитированием
  #6 (permalink)  
Старый 20.11.2018, 18:22
Новичок на форуме
Отправить личное сообщение для usermenjs Посмотреть профиль Найти все сообщения от usermenjs
 
Регистрация: 13.11.2018
Сообщений: 9

рони,
Я не знаю, я искал звук на защищенном соединении что бы проверить будет ли работать, но не нашел, все звуковые эффекты на http .
Если вы можете сделать такую ссылку , я бы за вас даже помолился )
Ответить с цитированием
  #7 (permalink)  
Старый 20.11.2018, 18:23
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

https://nvdx.ru/vega.mp3
Ответить с цитированием
  #8 (permalink)  
Старый 20.11.2018, 18:33
Новичок на форуме
Отправить личное сообщение для usermenjs Посмотреть профиль Найти все сообщения от usermenjs
 
Регистрация: 13.11.2018
Сообщений: 9

j0hnik,
СПАСИБО. всё работает .
Ответить с цитированием
  #9 (permalink)  
Старый 20.11.2018, 18:35
Новичок на форуме
Отправить личное сообщение для usermenjs Посмотреть профиль Найти все сообщения от usermenjs
 
Регистрация: 13.11.2018
Сообщений: 9

j0hnik,
рони,
Malleys,
Спасибо за ваш отклик . Спасибо огромное за помощь, я безумно вам благодарен .
Спасибо вам ребята .
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS мастер, 2 месяца на Бали, потом Москва офис, белая з/п от 90000 руб Lingualeo Работа 3 04.05.2012 14:33
JS Coaching для стартапа OlgaAyva Работа 12 27.09.2011 22:18
работа с JSON в JS EventPromo Элементы интерфейса 0 25.04.2011 14:09
работа с файлами JS demix Общие вопросы Javascript 1 19.02.2010 23:56
Работа js +php без обновления страницы Jekel Javascript под браузер 18 29.11.2009 20:17