Mik*_*den 6 javascript google-chrome-extension hangout
我想编写一个Chrome扩展程序,让您可以通过浏览器操作按钮将环聊静音/取消静音,而不是让您打开环聊标签并在那里执行,但似乎他们的HTML和JS被混淆,所以我无法弄清楚一个体面的想要在JS控制台搞乱时触发它.
我可以使用选择按钮元素
el = document.querySelector("[data-tooltip='Unmute microphone']");
Run Code Online (Sandbox Code Playgroud)
......但是el.click()在那上面跑不会做任何事情.所以我尝试设置一个单击事件断点,但这只是让我进入一个巨大的JS文件,带有一堆缩小的代码,所以我有点想法.
在花费几分钟摆弄Chrome开发人员工具之后,我决定不使用调试器来浏览源代码,而是使用断点(Sources面板)研究按钮的行为,以及一些有根据的猜测.
简而言之,通过按指定的顺序触发以下事件,可以(未)静音环聊:
mousedown - 激活按钮mouseup - 触发关联的"单击"处理程序mouseout - 从按钮上取下聚焦环(可选).要选择目标元素,我并没有使用你提供的选择,因为它不会对本地化(非英语)的Hangouts接口工作.相反,我将CSS类定位为麦克风图标,并选择其容器(按钮),"ha-wPy-Xi-f".
最后,使用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'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1951 次 |
| 最近记录: |