Google chrome extension 识别信息上的多行。从关联菜单中选择文本
每当用户选择页面上的某些文本时,“我的扩展”就会添加上下文菜单 然后,使用info.selectionText,每当用户从我的上下文菜单中选择一个项目时,我就在执行的函数上使用所选文本。(来自) 到目前为止,一切正常 现在,我从一个扩展用户那个里得到了一个很酷的请求,即每行选定的文本执行一次相同的函数。 例如,用户将选择3行文本,我的函数将被调用3次,每行调用一次,并使用相应的文本行 到目前为止,我还无法拆分info.selectionText,以便识别每一行。。。 info.selectionText返回单行文本,但找不到拆分的方法 有人知道有没有办法吗?是否有用于拆分的“隐藏”字符 先谢谢你。。。如果您感兴趣,这里是扩展的链接Google chrome extension 识别信息上的多行。从关联菜单中选择文本,google-chrome-extension,Google Chrome Extension,每当用户选择页面上的某些文本时,“我的扩展”就会添加上下文菜单 然后,使用info.selectionText,每当用户从我的上下文菜单中选择一个项目时,我就在执行的函数上使用所选文本。(来自) 到目前为止,一切正常 现在,我从一个扩展用户那个里得到了一个很酷的请求,即每行选定的文本执行一次相同的函数。 例如,用户将选择3行文本,我的函数将被调用3次,每行调用一次,并使用相应的文本行 到目前为止,我还无法拆分info.selectionText,以便识别每一行。。。 info.selection
好的,因为OnClickData的selectionText只会是文本,所以使用这种方法您永远无法做到这一点 然后我要做的是在每个页面中插入一个内容脚本,并使用类似于以下示例的内容(受阅读本文的启发) 您仍然可以像现在一样在ClickData钩子上使用上下文菜单,但是当您收到它而不是读取selectionText时,您可以使用事件通知触发上下文脚本,然后使用x.Selector.getSelected()来读取所选内容。那会给你你想要的。使用关联菜单后,文本在扩展名中保持选中状态,因此您阅读所选文本时应该没有问题
if (!window.x) {
x = {};
}
// https://stackoverflow.com/questions/5669448/get-selected-texts-html-in-div
x.Selector = {};
x.Selector.getSelected = function() {
var html = "";
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
if (sel.rangeCount) {
var container = document.createElement("div");
for (var i = 0, len = sel.rangeCount; i < len; ++i) {
container.appendChild(sel.getRangeAt(i).cloneContents());
}
html = container.innerHTML;
}
} else if (typeof document.selection != "undefined") {
if (document.selection.type == "Text") {
html = document.selection.createRange().htmlText;
}
}
return html;
}
$(document).ready(function() {
$(document).bind("mouseup", function() {
var mytext = x.Selector.getSelected();
alert(mytext);
console.log(mytext);
});
});
if(!window.x){
x={};
}
// https://stackoverflow.com/questions/5669448/get-selected-texts-html-in-div
x、 选择器={};
x、 Selector.getSelected=函数(){
var html=“”;
if(typeof window.getSelection!=“未定义”){
var sel=window.getSelection();
如果(选择范围计数){
var container=document.createElement(“div”);
对于(变量i=0,len=sel.rangeCount;i
另请参见:我还没有下载您的扩展,因此我对它的功能没有100%的了解。但是行/项是否在某种程度上是不同的,比如列表项、链接-是否有任何逻辑方法来确定中断?你能不能在你的文章中举几个“行”的例子,这将有助于更好地理解你到底想要实现什么。谢谢。嗨,Richard,我想我会寻找手动中断
或列出项目
或