为什么我的 Chrome 扩展程序无法点击 Google 文档中的“新评论”按钮?

11日

直到最近,我的 Chrome 扩展程序才能通过内容脚本找到并以编程方式单击在 Google 文档(在编辑模式下)中突出显示文本后出现的“新评论”按钮。

这是突出显示时出现的按钮:

<div id="docs-instant-button-bubble" class="docs-material docs-instant- 
button-bubble-transformation-ltr docs-instant-button-visible" instant- 
role="button" tabindex="-1" aria-hidden="true" aria-label="Add a instant- 
comment" data-tooltip="Add a comment" style="top: 352.8px; opacity: 1; instant- 
background-color: red;"><div class="docs-instant-button-bubble-icon-instant- 
container"><span class="docs-instant-button-bubble-icon docos-icon-img instant- 
docos-icon-img-hdpi docos-instant-icon-img docos-icon-instant-docos-ltr instant- 
docos-instant-button-bubble-icon"></span></div></div>

我的代码仍然“看到”这个元素 - 如果我愿意,我可以把它变成红色。

但是我用来创建“点击”的点击处理程序不再起作用。这是简单的js:

document.getElementById("docs-instant-button-bubble").click();

Google Docs(对此元素)中的哪些更改使我的程序化点击失败?

预先感谢您的任何指导/帮助!

伊万·诺科诺科

这个答案

试试这个代码;它通过在按钮中心触发的快速连续的 mousedown、mouseup 和 click 事件模拟鼠标左键单击元素:

var simulateMouseEvent = function(element, eventName, coordX, coordY) {
  element.dispatchEvent(new MouseEvent(eventName, {
    view: window,
    bubbles: true,
    cancelable: true,
    clientX: coordX,
    clientY: coordY,
    button: 0
  }));
};

var theButton = document.querySelector('ul form button');

var box = theButton.getBoundingClientRect(),
    coordX = box.left + (box.right - box.left) / 2,
    coordY = box.top + (box.bottom - box.top) / 2;

simulateMouseEvent (theButton, "mousedown", coordX, coordY);
simulateMouseEvent (theButton, "mouseup", coordX, coordY);
simulateMouseEvent (theButton, "click", coordX, coordY);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我的Google Chrome扩展程序的HTML页面国际化

如何缩小我的Google Chrome扩展程序的JavaScript文件

无法在Ubuntu 12.10上的Google Chrome中安装扩展程序和主题

为什么我的ajax调用在Chrome扩展程序中同步?

为什么Google环聊支持在最新的Chrome中没有Chrome扩展程序的情况下共享桌面?

为什么当我包含建议的安全替代项时,脚本拒绝加载到Google Analytics(分析)Chrome扩展程序中?

Google Fire使用Firebase登录Chrome中的Chrome扩展程序

为什么我无法获得Google chrome Chrome Grid Inspector?

为什么我的Google Chrome扩展程序停止工作?

我的Google Chrome扩展程序已全部停止工作

Firefox中的Google Chrome扩展程序

为什么Google Chrome无法自我更新?

为什么Feedly无法在Chrome Ubuntu中为我加载?

为什么我的Chrome设置中没有“将Google Chrome设置为默认浏览器”按钮?

Chrome扩展程序中的Google Apps脚本?

无法删除Google Chrome扩展程序

在Google Chrome扩展程序中获取JSON

我正在尝试让jQuery在chrome扩展程序的background.js中工作,并且它将无法工作。为什么?

Google Docs Chrome扩展程序-它做什么/为什么存在?

Google Hangouts Chrome扩展程序中的永久登录按钮;无法登录并使用该应用

为什么我下载的Google Chrome .exe文件无法在Ubuntu上运行?

在Chrome扩展程序中无法使用Google Analytics(分析)

为什么GetUserMedia无法在Google Chrome中显示视频?

为什么chrome.pageCapture.saveAsMHTML无法在我的Google Chrome扩展程序中运行?

我无法在Chrome扩展程序中执行“命令”

新标签中的Google Chrome扩展程序默认

Chrome扩展程序:检测Google文档中的按键

为什么我无法从 Google Chrome 访问网站?

为什么我只在 Chrome 中从我的 Node ExpressJS 应用程序中收到 CORS 错误?