1
修改文本,我的品牌新的JavaScript和編寫擴展,所以我需要你的幫助。我怎麼能在Safari瀏覽器文本菜單擴展
我試圖創建一個Safari的上下文菜單項,這將允許用戶修改的文本,他已經當他選擇部分或全部在輸入窗口的文本(如一個我問這個問題進入在)。
我這部分的工作中,我擴展在上下文菜單中顯示出來,然後點擊它要求我global.html
文件,後者又調用我的結束腳本,inject.js
,文件看起來像這樣:
function handleMessage(event) {
var range = window.getSelection();//.getRangeAt(0);
console.log("range:"+range);
var selectionParentText = range.startContainer.textContent;
range.startContainer.textContent = selectionParentText.substring(0,range.startOffset) + "[b]" + range.toString() + "[/b]" + selectionParentText.substring(range.endOffset,selectionParentText.length);
}
safari.self.addEventListener("message", handleMessage, false);
日誌顯示我選擇文本的價值,但4號線生成一個TypeError: Result of expression 'range.startContainer' [undefined] is not an object.
錯誤。什麼是修改所選文本的正確方法?