[英]Insert text in a textarea/text input at the cursor, when code is being executed in a Chrome Extension content script
我正在制作一個Chrome擴展程序,當選擇上下文菜單項時,該擴展程序會將一些存儲的,經常使用的文本片段放入文本輸入和文本區域中。
目前設置工作的方式,內容腳本中有一行內容負責插入:
document.activeElement.value =“插入文本” + document.activeElement.value;
這會將文本置於所選的任何文本框/可編輯區域的開頭。 希望將文本插入到用戶當前在文本框中單擊的位置,而不是僅在開始時。
我已經看到了許多在光標/插入符號處輸入文本的示例,但是還無法從內容腳本中使它們正常工作。 由於這不需要與跨瀏覽器兼容,因此使此文本插入光標的最簡單方法是什么?
謝謝你的幫助
解決方案使用的代碼位於http://www.sitepoint.com/forums/showthread.php?t=709013
更改該腳本的前幾行,以便它們讀取
function insertAtCaret(text) {
var txtarea = document.activeElement;
然后,JavaScript不需要聲明的所選元素的ID。
內容腳本以及
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
insertAtCaret(request.text);
if (request.greeting == "hello")
sendResponse({farewell: "laters"});
else
sendResponse({farewell: "byebye"}); // snub them.
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.