如何创建一个 JS 小书签以在光标位置插入固定文本?

How to create a JS bookmarklet to insert fixed text at cursor position?

我想创建一个小书签,我可以将其放在浏览器的书签工具栏上,单击该工具栏会插入固定的预定义文本(在我的用例中,耸肩:¯\_(ツ)_/¯ )在当前光标位置(假设光标在可编辑的输入字段或文本区域中)。但是,我是 JavaScript 的初学者,不知道如何开始这样做。有什么帮助吗?如果我能找到正确方向的指针,我可能可以从那里弄清楚。谢谢!

CSS Tricks 有一篇文章解释了如何做到这一点以及更多。我很清楚 link 这里只有答案不太理想,但是这个问题是在寻求正确方向的指导,所以我相信它很合适。

本教程中的小书签会预填表单,因此基本上您会想深入了解它,但首先要了解它是如何找到表单控件并预填它们的。然后调整以适应您想要的功能,最后将您不需要或不使用的所有其他内容删除。

Prefilling Forms Custom Bookmarklet

抱歉耽搁了;就在我发布问题的时候,生活向我抛出了一些曲线球,我忘记了这一点,直到今晚 Whosebug 通知我回复。

afuous 的评论给了我想要的一切,我现在有了一个可以使用的小书签。对于遇到此问题的任何其他人,这里是:

javascript:(function(a){a.value=a.value.slice(0,a.selectionStart)+"%C2%AF\_(%E3%83%84)_/%C2%AF"+a.value.slice(a.selectionEnd);})(document.activeElement);

这样的好处是允许我 select 文本的一部分并使用小书签将 selection 替换为耸肩,就好像我按下了假设的耸肩键一样在键盘上。

随意窃取和修改您认为合适的内容。这仅在 Firefox 50.0.2 中测试过,但我认为它应该适用于所有现代浏览器。 (它不适用于 Internet Explorer 8 或更早版本。)