в каком браузере я могу использовать «dispatchevent» на вкладке фона? - PullRequest
0 голосов
/ 28 октября 2019

Я пробовал dispatchEvent в фоновом режиме в Chrome, но это не сработало. Когда я попробую это в Firefox, это сработало с задержкой.

Я пытаюсь в том же коде Firefox медленно работает Chrome также не работает, я думаю, что это связано с браузером.

Как я могу отменить эти ограничения в браузерах? или вы можете порекомендовать браузер без ограничений?

.

coordX = 100 // Moving from the left side of the screen
 coordY = 100 // Moving in the center


    // Create new mouse event
     ev = new MouseEvent("mousemove", {
        view: window,
        bubbles: true,
        cancelable: true,
        clientX: coordX,
        clientY: coordY
    });
window.document.querySelector('#canvas').dispatchEvent(ev);

1 Ответ

0 голосов
/ 14 ноября 2019

Вы не привязали прослушиватель событий, поэтому вы не можете видеть вызов функции диспетчера

. Для получения дополнительной информации вы можете проверить сеть Mozilla [https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events][1]

coordX = 100 // Moving from the left side of the screen
     coordY = 100 // Moving in the center


    // Create new mouse event
     ev = new MouseEvent("click", {
        view: window,
        bubbles: true,
        cancelable: true,
        clientX: coordX,
        clientY: coordY
    });
var domEl=window.document.querySelector('#canvas')
domEl.addEventListener('click', function (e) { 
      setTimeout(() => {
        alert('success :'+stringifyEvent(ev));
       }, 5000);
  }, false);

function dispatchcall(){
   
       setTimeout(() => {
           domEl.dispatchEvent(ev);
    }, 5000);
   

}



//**for  stringify event object** 

function stringifyEvent(e) {
  const obj = {};
  for (let k in e) {
    obj[k] = e[k];
  }
  return JSON.stringify(obj, (k, v) => {
    if (v instanceof Node) return 'Node';
    if (v instanceof Window) return 'Window';
    return v;
  }, ' ');
}
document.getElementById("myBtn").addEventListener("click", dispatchcall);
<h2 id="canvas">canvas mouse click here after clicking on dispatch event Then wait 5 sec, if you wish you can switch tab come back after 5 sec</h2>

<button id="myBtn">dispatch event</button>
...