TOGOUTECH

javascript - Firefox 扩展 : Get selected text

coder 2024-05-16 原文

我正在开发一个简单的 Firefox 扩展,我想获取选定的文本。我试过这个:

var WordCount = {
    /* ... */
    changeSelected: function() {
        var selectedText = this.getSelection();
        var words = this.countWords(selectedText);
        this.changeStatus(words, " selected");
        //alert(selectedText);
    },
    getSelection: function(e) {
        var focused_window = document.commandDispatcher.focusedWindow;
        var sel_text = focused_window.getSelection();
        return sel_text.toString();    
    }
}
window.addEventListener("select", function(e) { WordCount.changeSelected(); }, false);

问题是,我没有通过 document.commandDispatcher.focusedWindow.getSelection() 获得选择,我也不知道为什么 :(

最佳答案

你的问题是 document.commandDispatcher.focusedWindow 将指向一个 chrome 窗口,我怀疑你实际上想要一个内容窗口。尝试将其替换为 content.getSelection()

关于javascript - Firefox 扩展 : Get selected text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1138296/

有关javascript - Firefox 扩展 : Get selected text的更多相关文章

  1. javascript - 奇怪的javascript代码 - 2

    我找到了这段代码:;100%function($){//WTF?var_true_=true;//WTF?var_false_=false;//WTF?vargo=function(location,date){location||(location={});varresult=_false_;if(date&&date.day){result=geoService.go(location,date);}return!!result;}varprocess=function(func){varargs=[].prototype.slice.call(arguments,

  2. javascript - 在 io.js 中使用 smalloc - 2

    io.js的第一个版本这个月出来了,我正在阅读文档时发现smallocio.js中引入的新模块。直到今天,我从未觉得有必要在JavaScript中这样做。我的问题是:Iwonderifthereisreallyaneedofrawmemoryallocationinjavscriptusingsmalloc?Ifitsneededthenwhy?whatwouldbetheusecaseforusingsmalloc?andifnotthenwhydidio.jsmembersaddthismodule?它还说可以指定您想要的外部数组数据类型。smalloc.Types中列出了所有可能

  3. javascript - AngularJs ng-repeat orderBy 不适用于嵌套对象属性 - 2

    我正在尝试ng-repeat嵌套对象属性并对它们进行排序,但排序对我不起作用。我看过这个:HowtoorderbyinAngularJSusingNestedproperty但是json结构不同,我无法让它工作。Plunker我的代码:<divng-repeat="itemindata|orderBy:order.allListPosition"><div>{{item.name}}-{{item.order}}</div></div>范围:$scope.data={"78962":{"id"

  4. javascript - 具有任意字符的 AngularJS 路由参数 - 2

    我是AngularJS的新手,如果这很明显,请原谅我,但我正在寻找可以回答这个棘手问题的人。我正在实现一个应用程序,需要将一些参数传递给特定View以显示有关书籍的详细信息。基本上我希望能够使用以下路由表达式:bookApp.config(['$routeProvider',function($routeProvider){$routeProvider.when('/catalog',{templateUrl:'cataloglist.htm',controller:'catCtrl'}).when('/book/

  5. javascript - 如何停止 DataTables 实例已启动的所有当前正在进行的 Ajax 查询? - 2

    简要说明将测试服务器重置为已知状态会导致我的测试失败,因为DataTables实例启动的Ajax请求在服务器重置时正在进行。我想通过在重置服务器之前停止DataTables请求来防止这种情况。详细说明我有一个在某些页面上使用数据表的应用程序。这些数据表都执行服务器端查询来填充它们的表。当我执行系统测试时,有时会发生竞争条件:测试运行器启动测试服务器。测试运行器在测试浏览器中加载一个页面,其中某处有一个DataTable实例。测试运行器运行测试,执行检查并结束。测试运行器将测试服务器重置为下一个测试的已知状态。页面上出现一条警告,指出DataTables遇到了Ajax错误。警报说:Dat

  6. javascript - 删除破折号以外的非数字字符 - 2

    我需要删除破折号以外的所有非数字字符。这是我的尝试(基于:Regextogetallalphanumericfieldsexceptforcomma,dashandsinglequote):varstripped=mystring.replace(/[-0-9]+/g,'');但这行不通:-( 最佳答案 我建议:varstripped=string.replace(/[^0-9\-]/g,'');JSFiddledemo.字符类中的^(在[和]中)是NOT运算符,因此它匹配的字符不是0-9或(转义的)

  7. javascript - 无法加载 XMLHttpRequest。请求的资源上不存在 'Access-Control-Allow-Origin' header 。 origin因此不允许访问 - 2

    我正在使用apachehttpd服务器来托管客户端文件http://ipaddress:8010/我的Nodejs服务器运行在http://ipaddress:8087当我发送post请求时,它显示以下错误XMLHttpRequestcannotloadhttp://ipaddress:8010/.No'Access-Control-Allow-Origin'headerispresentontherequestedresource.Origin'http://ipaddress:8087'isthereforenotallowedaccess.我的客户

  8. javascript - Three.js tween camera.lookat - 2

    我尝试使用Tween.js在Three.js中对camera.lookAt进行补间,但收效甚微。这行得通selectedHotspot=object;vartween=newTWEEN.Tween(camera.lookAt(object.position),600).start();而是将相机直接旋转到object.position。如何获得平滑的旋转?这是渲染函数functionupdate(){lat=Math.max(-85,Math.min(85,lat));phi=THREE.Math.degToRad(90-lat);theta=THREE.Math.degToRad(l

  9. javascript - 正则表达式只允许文本框中的一个点 - 2

    我有一个文本输入。我写了一个正则表达式来屏蔽除.和-之外的所有特殊字符。现在,如果用户在输入中错误地输入了两个.(点),则使用当前的正则表达式varvalueTest='225..36'valueTest.match(/[^-.\d]/)我预计该数字不会通过此条件如何处理这种情况。我只想要输入字段中的一个.(点),因为它是一个数字。 最佳答案 我想你是这个意思,^-?\d+(?:\.\d+)?$DEMO它允许带或不带小数点的正数和负数。解释:^断言我们在开始。-?可选的-符号。\d+匹配一个或多个数字。(?:非捕获组

  10. javascript - 基本的 Javascript 正则表达式 - 2

    我正在尝试学习javascript正则表达式,但遇到了一个问题。我正在尝试使用以下规则进行验证。只允许:Numbers0-9()+-(space)我想出了下面的正则表达式来处理这个问题:/[0-9\)\(\+\-]+/i以下匹配但不应匹配,因为它包含@符号:+0@1220012我正在使用下面的测试:(返回true)/[0-9\)\(\+\-]+/i.test("+0@1220012")谢谢。 最佳答案 您的正则表达式不会匹配“@”字符,但不必为了.test()调用返回true而必须匹配。字符串中的某处必须存在匹配项。

随机推荐

  1. javascript - 奇怪的javascript代码 - 2

    我找到了这段代码:;100%function($){//WTF?var_true_=true;//WTF?var_false_=false;//WTF?vargo=function(location,date){location||(location={});varresult=_false_;if(date&&date.day){result=geoService.go(location,date);}return!!result;}varprocess=function(func){varargs=[].prototype.slice.call(arguments,

  2. javascript - 在 io.js 中使用 smalloc - 2

    io.js的第一个版本这个月出来了,我正在阅读文档时发现smallocio.js中引入的新模块。直到今天,我从未觉得有必要在JavaScript中这样做。我的问题是:Iwonderifthereisreallyaneedofrawmemoryallocationinjavscriptusingsmalloc?Ifitsneededthenwhy?whatwouldbetheusecaseforusingsmalloc?andifnotthenwhydidio.jsmembersaddthismodule?它还说可以指定您想要的外部数组数据类型。smalloc.Types中列出了所有可能

  3. javascript - AngularJs ng-repeat orderBy 不适用于嵌套对象属性 - 2

    我正在尝试ng-repeat嵌套对象属性并对它们进行排序,但排序对我不起作用。我看过这个:HowtoorderbyinAngularJSusingNestedproperty但是json结构不同,我无法让它工作。Plunker我的代码:<divng-repeat="itemindata|orderBy:order.allListPosition"><div>{{item.name}}-{{item.order}}</div></div>范围:$scope.data={"78962":{"id"

  4. javascript - 具有任意字符的 AngularJS 路由参数 - 2

    我是AngularJS的新手,如果这很明显,请原谅我,但我正在寻找可以回答这个棘手问题的人。我正在实现一个应用程序,需要将一些参数传递给特定View以显示有关书籍的详细信息。基本上我希望能够使用以下路由表达式:bookApp.config(['$routeProvider',function($routeProvider){$routeProvider.when('/catalog',{templateUrl:'cataloglist.htm',controller:'catCtrl'}).when('/book/

  5. javascript - 如何停止 DataTables 实例已启动的所有当前正在进行的 Ajax 查询? - 2

    简要说明将测试服务器重置为已知状态会导致我的测试失败,因为DataTables实例启动的Ajax请求在服务器重置时正在进行。我想通过在重置服务器之前停止DataTables请求来防止这种情况。详细说明我有一个在某些页面上使用数据表的应用程序。这些数据表都执行服务器端查询来填充它们的表。当我执行系统测试时,有时会发生竞争条件:测试运行器启动测试服务器。测试运行器在测试浏览器中加载一个页面,其中某处有一个DataTable实例。测试运行器运行测试,执行检查并结束。测试运行器将测试服务器重置为下一个测试的已知状态。页面上出现一条警告,指出DataTables遇到了Ajax错误。警报说:Dat

  6. javascript - 删除破折号以外的非数字字符 - 2

    我需要删除破折号以外的所有非数字字符。这是我的尝试(基于:Regextogetallalphanumericfieldsexceptforcomma,dashandsinglequote):varstripped=mystring.replace(/[-0-9]+/g,'');但这行不通:-( 最佳答案 我建议:varstripped=string.replace(/[^0-9\-]/g,'');JSFiddledemo.字符类中的^(在[和]中)是NOT运算符,因此它匹配的字符不是0-9或(转义的)

  7. javascript - 无法加载 XMLHttpRequest。请求的资源上不存在 'Access-Control-Allow-Origin' header 。 origin因此不允许访问 - 2

    我正在使用apachehttpd服务器来托管客户端文件http://ipaddress:8010/我的Nodejs服务器运行在http://ipaddress:8087当我发送post请求时,它显示以下错误XMLHttpRequestcannotloadhttp://ipaddress:8010/.No'Access-Control-Allow-Origin'headerispresentontherequestedresource.Origin'http://ipaddress:8087'isthereforenotallowedaccess.我的客户

  8. javascript - Three.js tween camera.lookat - 2

    我尝试使用Tween.js在Three.js中对camera.lookAt进行补间,但收效甚微。这行得通selectedHotspot=object;vartween=newTWEEN.Tween(camera.lookAt(object.position),600).start();而是将相机直接旋转到object.position。如何获得平滑的旋转?这是渲染函数functionupdate(){lat=Math.max(-85,Math.min(85,lat));phi=THREE.Math.degToRad(90-lat);theta=THREE.Math.degToRad(l

  9. javascript - 正则表达式只允许文本框中的一个点 - 2

    我有一个文本输入。我写了一个正则表达式来屏蔽除.和-之外的所有特殊字符。现在,如果用户在输入中错误地输入了两个.(点),则使用当前的正则表达式varvalueTest='225..36'valueTest.match(/[^-.\d]/)我预计该数字不会通过此条件如何处理这种情况。我只想要输入字段中的一个.(点),因为它是一个数字。 最佳答案 我想你是这个意思,^-?\d+(?:\.\d+)?$DEMO它允许带或不带小数点的正数和负数。解释:^断言我们在开始。-?可选的-符号。\d+匹配一个或多个数字。(?:非捕获组

  10. javascript - 基本的 Javascript 正则表达式 - 2

    我正在尝试学习javascript正则表达式,但遇到了一个问题。我正在尝试使用以下规则进行验证。只允许:Numbers0-9()+-(space)我想出了下面的正则表达式来处理这个问题:/[0-9\)\(\+\-]+/i以下匹配但不应匹配,因为它包含@符号:+0@1220012我正在使用下面的测试:(返回true)/[0-9\)\(\+\-]+/i.test("+0@1220012")谢谢。 最佳答案 您的正则表达式不会匹配“@”字符,但不必为了.test()调用返回true而必须匹配。字符串中的某处必须存在匹配项。