在Firefox中的光标位置插入文本的Javascript代码
Javascript code to insert text at cursor position in Firefox?
用例
当我在搜索引擎中键入查询时,有时引用是查询的一部分,所以引擎不会用无用的建议来打扰我。
任务
这个操作太频繁了,所以我想用一个快捷方式来完成。快捷方式部分不是问题所在,有一种方法可以为bookmarklet指定快捷方式。我不知道怎么做的是
- 获取当前文本区域。关于它,我只知道光标在那里。我不能假设任何id等。此外,我不想安装任何挂钩
- 插入",然后倒退一个字符
我期待一个一两行,我可以放在书签。
解决方案
由于没有人愿意回答,而我只是JavaScript的新手,我决定看看是否有一个插件能满足我的需求。选择权落在了Firemacs身上,因为我无论如何都在用它。
返回一个字符的代码本身就是简单的:
goDoCommand('cmd_charPrevious');
但是,插入文本的命令不起作用。但是粘贴命令也很简单:
goDoCommand('cmd_paste');
现在,它只剩下将""放在剪贴板中。这并不容易:
var str = Components.classes["@mozilla.org/supports-string;1"]
.createInstance(Components.interfaces.nsISupportsString);
str.data = '""';
var trans = Components.classes["@mozilla.org/widget/transferable;1"]
.createInstance(Components.interfaces.nsITransferable);
trans.addDataFlavor("text/unicode");
trans.setTransferData("text/unicode",str, str.data.length * 2);
var clipid = Components.interfaces.nsIClipboard;
var clip = Components.classes["@mozilla.org/widget/clipboard;1"]
.getService(clipid);
clip.setData(trans,null,clipid.kGlobalClipboard);
然后我只是将这段代码修补到扩展中,而不是"Ctrl-h"绑定中,我不使用。问题解决了。现在我可以在Firefox中快速插入一对引号了。
相关文章:
- JavaScript 在文本区域中的特定位置插入文本
- 在两个括号内插入文本 - Javascript
- Applescript运行Javascript,并在提示中插入文本
- Javascript:在指定行插入文本
- 如何将 url 插入到 Javascript var 索引中的文本中
- 使用 jQuery/Javascript 将鼠标悬停在按钮上时将文本插入文本和帮助文本
- 如何使用 Javascript 插入文本框
- 如何使用 DOM-Methods 在 JavaScript 调用的位置插入文本
- 使用Javascript将鼠标点击坐标插入文本输入框
- 插入用javascript动态创建的文本框中的值
- 在“”之后插入文本;这个“;使用javascript输入元素
- 用于在gridview中插入文本框值的javascript
- 使用javascript为谷歌chrome扩展插件将文本插入文本区域
- 使用插入的JavaScript访问文本框值
- 在Firefox中的光标位置插入文本的Javascript代码
- 使用javascript在HTML标签中插入文本
- 使用javascript在输入字段中插入文本
- 复选框使用Javascript将文本插入文本区域
- 没有javascript错误在Chrome调试器,但不插入文本
- 插入文本到一个不确定数目的跨度,For循环Javascript