使用 javascript 按下 GMail 的样式按钮

Pressing GMail's styling buttons using javascript

本文关键字:样式 按钮 GMail javascript 按下 使用      更新时间:2023-09-26

我正在 GMail 中编辑一条消息。我想按下其中一个样式按钮,例如"缩进"、"缩进"、"从右到左"等。

我想做到这一点不是通过按,而是通过在地址栏中键入一段 javascript 并按 Enter 来做到这一点。

(我对这样做很感兴趣,这样我就可以编写一个使用键盘而不是鼠标按下按钮的脚本。

这可能吗?

赏金:

赏金将授予任何提供完整、有效的解决方案的人,我可以将其放入 Chrome 的地址栏中,以按下按钮(如"缩进"、"链接"、"缩进"、"从右到左"等)。(当然,每个按钮的行不同。

要选择元素,您首先需要选择 iframe

var inlineFrame = document.getElementById("canvas_frame");

接下来,您可以从 iframe 获取内容窗口(iframe 的窗口范围),如下所示:

var contentwindow = inlineFrame.contentWindow;

接下来使用查询选择器(仅限真实浏览器(IE8-不支持)),您可以像这样选择按钮。([command='+bold']的意思是:任何具有属性命令的元素,其值为"+bold",就像在CSS中一样)。

var button = contentwindow.document.querySelector("[command='+bold']");

如果检查相关按钮,它们都包含可用于选择它们的命令属性。接下来,您可以使用该按钮执行任何所需的操作(在stackoverflow上查找其他答案,以获取模拟事件的不同方法,因为您应该能够自己执行此操作)。

如果你想把它作为一个书签,你当然也可以用它做一行,但我认为这样作为答案会更清楚。

尝试Ctrl+BCtrl+ICtrl+U这是你的意思吗?

首先,你需要弄清楚你想要被"点击"的 DOM 元素的 ID/标签索引/css 类,然后使用选择器访问它,最后调用它的点击事件。

要动态选择 DOM 元素,如果您知道其 ID,则可以使用 document.getElementById(<id>),如果您知道其标签名称和索引,则可以使用 document.getElementsByTagName(<tagName>)[<index>]

如果你只知道元素使用特定的css类,你仍然可以循环每个标签直到element.className==<className>或动态导入jquery然后调用$('.<className>').trigger('click');

希望这有帮助

免责声明:更多或通用答案,与Gmail没有直接关系。

若要单击页面上的任何元素,可以使用 element.click() 方法。请注意,所有元素都没有单击方法。 不过<input>元素支持。

我不确定您是否可以从 URL 栏访问document对象。因此,如果我使用Firefox,我会打开Firebg或更好的Scratch Pad(>Web开发人员工具>Scratch Pad)并编写以下内容:

javascript:function foo(){document.getElementById('link1').click();}foo();

执行上述代码后,它将在 ID 为 'link1' 的元素上调用 click 方法。