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

时间:2016-11-14 08:52:36

标签: javascript bookmarklet

我想创建一个书签,我可以将其放在我的浏览器的书签工具栏上,当点击它时,插入一个固定的预定义文本(在我的用例中,一个shruggie:¯\ _(ツ)_ /¯)当前光标位置(假设光标位于可编辑的输入字段或textarea中)。但是,我是JavaScript的初学者,无法弄清楚如何开始这样做。有帮助吗?如果我能指向正确的方向,我可以从那里弄明白。谢谢!

2 个答案:

答案 0 :(得分:3)

道歉;在我发布问题的时候,生活就向我扔了一些曲线球,我忘记了这一点,直到StackOverflow今晚通知我这些回复。

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);

这样做的好处是允许我选择文本的一部分并使用书签将替换选项替换为shruggie,就像我在键盘上点击了一个假设的shruggie键一样。

随意偷取并修改你认为合适的东西。这仅在Firefox 50.0.2中进行了测试,但我认为它应该适用于所有现代浏览器。 (它不能在Internet Explorer 8或更早版本中工作。)

答案 1 :(得分:1)

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

教程中的书签预填表单,所以基本上你想要去除它,但首先要看看它是如何找到表单控件并预先填充它们的。然后调整以适合您所需的功能,最后将其他所有不需要或使用的内容撕掉。

Prefilling Forms Custom Bookmarklet