我猜你需要使用jQuery caret plugin。
代碼可能看起來像下面(未經測試)
replaceselector.js:
function replaceSelection(selector, replaceText) {
var input = $(selector);
var text = input.text();
input.text(text.substr(0, input.caret().start) + replaceText + text.substr(input.caret().end);
}
進樣content scripts到目標選項卡,然後從你的背景頁面中調用EXECSCRIPT
chrome.tabs.executeScript(tabid, {file: "jquery.min.js"} function() {
chrome.tabs.executeScript(tabid, {file: "jquery.caret.1.02.min.js"} function() {
chrome.tabs.executeScript(tabid, {file: "replaceSelector.js"} function() {
chrome.tabs.executeScript(tabid, {code: "replaceSelection('#myInputBox', 'Replace String');"});
});
});
});
謝謝,但基本上是我想知道的是如何從後臺腳本中做到這一點。我有一段時間沒有真正開發Chrome擴展,我從來沒有做過修改當前頁面的擴展。我是否需要將代碼注入頁面,或者是從後臺腳本訪問頁面DOM的某種方式? –
用內容腳本執行示例更新了我的答案 – Andrey