javascript जेएस के माध्यम से एक Google हंगुल को म्यूट/अनम्यूट कैसे करें(कोई jQuery नहीं)?



google-chrome-extension hangout (1)

क्रोम डेवलपर टूल्स के साथ कुछ मिनट की निगलना के बाद, मैंने सोचा था कि डीबगर के साथ सोर्स कोड नहीं चलना चाहिए, लेकिन ब्रेकपॉइंट (स्रोत पैनल) के साथ बटन के व्यवहार का अध्ययन करें, और कुछ शिक्षित अनुमान

लंबी कहानी कम, निर्दिष्ट ऑर्डर में निम्नलिखित ईवेंट को ट्रिगर करके Hangouts (संयुक्त राष्ट्र) को मौन कर सकते हैं:

  • mousedown - बटन को सक्रिय करने के लिए
  • mouseup - संबद्ध "क्लिक" हैंडलर को ट्रिगर करने के लिए
  • mouseout - बटन (वैकल्पिक) से फोकस रिंग को निकालने के लिए

लक्ष्य तत्व का चयन करने के लिए, मैंने आपके द्वारा प्रदान किए गए चयनकर्ता का उपयोग नहीं किया, क्योंकि यह स्थानीय (गैर-अंग्रेज़ी) Hangouts इंटरफ़ेस के लिए काम नहीं करेगा। इसके बजाय, मैं माइक्रोफ़ोन आइकन के लिए सीएसएस वर्ग को लक्षित करता हूं, और उसके कंटेनर ("बटन", "हा-वाईपीवाई -जीआई-एफ") का चयन करें

अंत में, Hangouts में माइक्रोफ़ोन को टॉगल करने के लिए MouseEvent कन्स्ट्रक्टर (DOM4) और dispatchEvent ईवेंट विधि का उपयोग करें:

var el = document.querySelector('.ha-w-P-y-Xi-f').parentNode;
el.dispatchEvent(new MouseEvent('mousedown'));
el.dispatchEvent(new MouseEvent('mouseup'));
el.dispatchEvent(new MouseEvent('mouseout'));

मैं एक क्रोम एक्सटेंशन लिखना चाहता हूं जो आपको Hangout टैब खोलने और वहां ऐसा करने के बजाय ब्राउज़र गतिविधि बटन से अपने Hangout को म्यूट / अनम्यूट करने देता है, लेकिन ऐसा लगता है कि उनके एचटीएमएल और जेएस को अस्पष्ट कर दिया गया है ताकि मैं समझ नहीं सकूं जेएस कंसोल में चारों ओर गड़बड़ करते समय एक अच्छा ट्रिगर करना चाहते हैं।

मैं बटन तत्व का उपयोग कर स्वयं का चयन करने में सक्षम था

el = document.querySelector("[data-tooltip='Unmute microphone']");

... लेकिन el.click() चल रहा है जो उस पर कुछ भी नहीं करता है। इसलिए मैंने एक क्लिक ईवेंट ब्रेकपॉइंट सेट करने की कोशिश की, लेकिन उसने मुझे एक विशाल जेएस फ़ाइल में मिनिएड कोड के एक समूह के साथ गोली मार दी ताकि मैं विचारों से बाहर हो।





hangout