gpt4 book ai didi

javascript - 在 Plus.Google.com 上触发按键

转载 作者:数据小太阳 更新时间:2023-10-29 04:52:51 27 4
gpt4 key购买 nike

我正在创建一个扩展程序,我必须在其中模拟 contenteditable div 上的空格键按键,用户在 Google Plus 中键入消息(状态)。

如果您打开 plus.google.com 并单击必须键入消息的 div,您会发现当您在消息中键入链接并按 {spacebar} 时,您会注意到 Google 会检索标题、图片以及该链接的描述。我花了 3 天时间尝试模拟空格键按键。我已经可以模拟鼠标悬停在表单元素上,我可以模拟发送按钮中的 click(),但我仍然无法模拟空格键按下。

到目前为止我最好的代码是:

var e = new KeyboardEvent("keydown", {bubbles : true, cancelable : true, key : " ", char : " ", shiftKey : false, keyCode: 32, which: 32, view: window});
//I need to delete the e.keyCode and e.which cause Chrome sets it as a readonly but for some reason if you delete it and assign a new value Chrome accepts (I am very sure this is a serious bug that I discovered in Chrome and that I already reported yesterday in theis bug tracker)
delete e.keyCode;
Object.defineProperty(e, "keyCode", {"value" : 32});
delete e.which;
Object.defineProperty(e, "which", {"value" : 32});

$(".Cla").find(".be.c-B").children().eq(1).get(0).dispatchEvent(e);

非常感谢。

编辑:

我不知道它是否有助于您进行测试,但我建议您这样做:

opened_window = window.open("http://plus.google.com");

点击 div 将其展开,然后运行以下代码:

$(".Cla").find(".be.c-B").children().eq(1).html("The site stackoverflow.com is amazing");

var e = new KeyboardEvent("keydown", {bubbles : true, cancelable : true, key : " ", char : " ", shiftKey : false, keyCode: 32, which: 32, view: window});
delete e.keyCode;
Object.defineProperty(e, "keyCode", {"value" : 32});
delete e.which;
Object.defineProperty(e, "which", {"value" : 32});

$(".Cla").find(".be.c-B").children().eq(1).get(0).dispatchEvent(e);

出于某种原因,这不会触发链接信息的检索。但是,如果您只是点击 div 并按空格键,您将看到 Google 检索有关该链接的信息。

最佳答案

看看这个 jQuery 插件:SendKeys

关于javascript - 在 Plus.Google.com 上触发按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16093655/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com