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.
错误。什么是修改所选文本的正确方法?