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. c# - react 性扩展 : Concurrency within the subscriber - 2

    我正在努力思考ReactiveExtensions对并发的支持,但很难获得我想要的结果。所以我可能现在还不明白。我有一个源将数据发送到流中的速度快于订阅者可以使用它的速度。我更喜欢配置流,以便使用另一个线程为流中的每个新项目调用订阅者,以便订阅者有多个线程同时运行。我能够确保订阅者的线程安全。以下示例演示了该问题:Observable.Interval(TimeSpan.FromSeconds(1)).Do(x=>Console.WriteLine("{0}Thread:{1}Sourcevalue:{2}",DateTime.Now,Thread.Current

  2. c# - 将 Enumerable.ToDictionary 与扩展方法一起使用时为 "CLR detected an Invalid Program" - 2

    一位同事向我传递了一个有趣的代码示例,该示例在运行时因InvalidProgramException(“CLR检测到无效程序”)而崩溃。这个问题似乎发生在JIT时间,因为它编译得很好,但就在调用带有“违规”行的方法之前抛出异常-我猜是因为它正在被JIT。有问题的行是调用Enumerable.ToDictionary并将Func作为第二个参数传递。如果Func参数完全用lambda指定,它就可以工作;如果指定为方法组,如果失败。这两者一定是等价的吧?这让我(以及发现它的同事!)感到难过-这看起来确实像是一个JIT错误。[编辑:抱歉-我在代码示例中以错误的方式得到了通过和失败的情况-现在已

  3. c# - 为什么不接受 IEnumerable(of T) 作为扩展方法接收器 - 2

    在代码前完成问题:为什么是IEnumerable<T>whereT:ITest不被接受为期望thisIEnumerable<ITest>的扩展方法的接收者?现在是代码:我有三种类型:publicinterfaceITest{}publicclassElement:ITest{}publicclassElementInfo:ITest{}还有两种扩展方法:publicstaticclassExtensions{publicstaticIEnumerable<ElementInfo>Method<T>(thisIEnumerable<T

  4. c# - 如何在 Powershell 中使用扩展方法? - 2

    我有以下代码:usingSystempublicstaticclassIntEx{///<summary>///Yieldsapowerofthegivennumber///</summary>///<paramname="number">Thebasenumber</param>///<paramname="powerOf">thepowertobeappliedontebasenumber</param>///<returns>Powersappliedtotheba

  5. c# - ServiceStack.Text 是否提供 JSON 的 pretty-print ? - 2

    TL;DR:ServiceStack.Text中是否有内置的方法来生成打印精美的JSON?我正在使用ServiceStack.Text用于进行JSON序列化。到目前为止它工作得很好,但是创建的JSON(使用.ToJSON())没有用空格或换行符格式化(最有可能在通过网络发送时节省空间)。但是,在某些情况下,最好对JSON进行格式化以便于人类阅读。.Dump()方法进行某种格式化,但不会生成有效的JSON(即缺少周围的双引号)。 最佳答案 ServiceStack.Text中的T.Dump()和T.PrintDump()扩展方法只是使

  6. c# - 有哪些最佳实践可确保您的 .NET 代码能够很好地扩展? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。上周,我面试了位于东北部的TripleAMMORPG游戏公司的职位。我没有得到这份工作,但在面试中提出的一个问题是关于您编写​​的代码的可扩展性以及如何在您的体系结构和类的设计早期考虑它。遗憾的是,我从来没有想过我编写的.NET代码的可扩展性(我使用的是单用户桌面和移动应用程序,我们主要关心的通常是设备内存和数据传输速率).我有兴趣了解更多有关编写可扩展代

  7. c# - 何时在 LINQtoObjects 上使用带有 lambda 的扩展方法来过滤集合? - 2

    我正在制作一些C#3集合过滤器的原型(prototype)并遇到了这个问题。我有一系列产品:publicclassMyProduct{publicstringName{get;set;}publicDoublePrice{get;set;}publicstringDescription{get;set;}}varMyProducts=newList<MyProduct>{newMyProduct{Name="Surfboard",Price=144.99,Description="Mostimportantthingyouwilleverown.&#

  8. c# - 将表达式传递给 linq 的 Select - 2

    这是linq-to-sql我有很多不同的类都在执行相同的查询,但预测结果略有不同。理想情况下,我希望能够在一个地方进行查询,并将投影传递到Select方法中。它适用于具体类型:publicvoidGetResults(){varjunk=db.SiteProducts.Select(Project());}publicExpression<Func<DbEntities.SiteProduct,string>>Project(){returnp=>p.ProductAlert;}但是当我试图返回一个匿名类型时,它失败了publicvoidGetResult

  9. c# - 如何在 C# 中编写 SNMP 代理或 SNMP 扩展代理 DLL - 2

    我需要为我的应用程序编写一个SNMP代理。我读了CodeProjectarticle关于如何使用win32编写SNMP扩展代理DLL,但想知道是否可以使用托管代码来完成。此外,是否可以在托管代码中编写我自己的SNMP代理并在WindowsSNMP服务上运行它?需要在我的服务器上运行windowsSNMP服务以提供基本的操作系统管理信息。您会推荐什么C#SNMP库?我找到了一些C#SNMP协议(protocol)实现,但找不到有关如何实现SNMP代理的示例代码-大多数示例仅与查询其他代理或发送陷阱有关。 最佳答案 如果您想使用.Net

  10. c# - ASP.NET Core 浏览器链接 `Unable to get property ' 文件'` - 2

    在MicrosoftVirtualAcademy类(class)中'IntroductiontoASP.NETCore(formerlyASP.NET5)',视频3,在39:00,他们演示了BrowserLink如何在Edge的F12工具和VisualStudio之间同步代码选择。我还没有看到开箱即用的相同功能。我不知道是否有设置或特殊功能来启用此功能。如果有,它没有在类(class)视频中显示,但视频又是几个月前的了。我以前从未见过此功能。BrowserLink从Edge连接到VisualStudio,在VS中的BrowserLinkDashboard中可以看到。没关

随机推荐

  1. c# - 在 C# 控制台应用程序上更改背景颜色 - 2

    这个问题在这里已经有了答案:HowdoIchangethefullbackgroundcoloroftheconsolewindowinC#?(6个答案)关闭4年前。我在网上搜索过,但似乎找不到解决方案。我希望我的整个控制台应用程序窗口具有特定的颜色,例如蓝色。我该怎么做?

  2. c# - 如何删除数组中的选定元素? - 2

    我有这个任务,我必须从数组中删除一个选定的元素,所以我想出了这个代码:strInput=Console.ReadLine();for(inti=0;i<intAmount;i++){if(strItems[i]==strInput){strItems[i]=null;for(intx=0;x<intAmount-i;x++){i=i+1;strItems[i-1]=strItems[i];}intAmount=intAmount-1;}}问题是,假设我有一个数组[1,2,3,4,5,],我想删除1。输出将为[2,3,4,5,5]。当我选择2时也会发生这种情况,但当我选择任何

  3. c# - 如何从 C# 中的两个列表创建一个对象对列表? - 2

    我有两个对象列表。列表A和列表B。我需要创建列表C,它将列表A和列表B组合成对。例如:ListAobjecta1objecta2objecta3ListBobjectb1objectb2objectb3ListC(createspairs)objectc1(objecta1,objectb1)objectc2(objecta2,objectb2)objectc3(objecta3,objectb3) 最佳答案 您可以使用Enumerable.Zip()System.Linq中的方法。IEnumerable<Tuple<A

  4. 机器学习 标量、向量、矩阵的求导 PyTorch自动求导 - 2

    1说明本文是学习DiveintoDeepLearning中相应内容做出的总结和一些实现代码,原文链接:矩阵计算。2求导学习PyTorch的自动求导之前首先需要知道求导的过程。注意:可能不同的教材关于对于向量和矩阵求导有着不同的定义,本文关于向量或者矩阵求导后会进行一次转置操作。但在PyTorch中不会进行转置,所以代码的求导后的形状可能与手动进行推导的形状不一样。我也是跑完代码才发现代码似乎并没有进行转置的操作。2.1标量求导首先介绍标量求导,标量求导可以分为标量关于向量求导和标量关于矩阵求导。2.1.1标量关

  5. c# - 为什么我得到 "CS0472: The result of the expression is always true since a value of type int is never equal to null of type int?" - 2

    string[]arrTopics={"Health","Science","Politics"};我有一个if语句:if(arrTopics.Count()!=null)当我将鼠标悬停在上面的语句上时,它说:WarningCS0472:Theresultoftheexpressionisalwaystruesinceavalueoftypeintisneverequaltonulloftypeint?我不明白为什么会这样说。谁能帮帮我? 最佳答案 int永远不能等于null。int?

  6. 方块消除 Blocks【区间DP】 - 2

    >LinkUVA10559>Description有nnn个带有颜色的方块,没消除一段长度为x的连续的相同颜色的方块可以得到x2x^2x2的分数,让你用一种最优的顺序消除所有方块使得得分最多。>解题思路设fi,jf_{i,j}fi,j​为消除了[i,j][i,j][i,j]的方块得到的最大价值,但是我们发现消除了某一区间后,两边的方块会并到一起,所以DP只考虑要消除的区间是不能做到最优的。所以我们多加一维来表示状态,设:fi,j,kf_{i,j,k}fi,j,k​为消除了[i,j

  7. T检验、F检验、Z检验、卡方检验 - 2

    文章目录一、几种假设检验二、Z检验1.Z分布2.适用条件3.用途4.公式5.应用实例三、T检验1.T分布2.适用条件3.用途4.公式四、F检验1.F分布2.适用条件3.用途五、卡方检验1.卡方分布2.用途3.案例一、几种假设检验1.有关平均值参数u的假设检验(Z检验、T检验)根据总体方差是否已知及样本容量大小,分为T检验与Z检验,如下图:2.有关参数方差σ2的假设检验(F检验)F检验主要用于检验两个分布的方差是否相同3.检验两个或多个变量之间是否有关系(卡方检验)卡方检

  8. (完全理解)二重积分中的换元积分中的雅可比矩阵 - 2

    文章目录前言引入推导疑惑前言我们知道,在二重积分中,换元积分如下:但是很多人并不知道为什么是这样,所以一直记不住换元积分的公式。引入我们首先得明白,二重积分有点类似于求体积,f(x,y)就是高,D是底。然后积分,就是求和。将这个体积分成无数个小竖块,每一个小竖块都看成一个长方体,底面积就是dxdy,高就是f(x,y)。如下:下面是在计算以PQ,PR围成的面积,即dxdy。然后在这个小区域里面,它的高看成了长方体&#

  9. c# - 为什么在将字符串转换为 float 时会出现 FormatException? - 2

    当我尝试将字符串转换为float时:Console.WriteLine(float.Parse("6.59"));它抛出一个异常:UnhandledException:System.FormatException:Inputstringwasnotinacorrectformat.atSystem.Number.ParseSingle(Stringvalue,NumberStylesoptions,NumberFormatInfonumfmt)当我这样尝试时:Console.WriteLine(Convert.ToSingle("6.59"));它抛出相

  10. Gazebo仿真记录 Turtlebot3 + D435i - 2

    在Gazebo环境中在Turtlebot3上添加深度相机D435和IMU。步骤1.准备工作创建ROS工作空间,下载turtlebot3相关代码和realsense2_description模型文件放到工作空间下。Turtlebot3:主要是turtlebot3、turtlebot3_simulations、turtlebot3_msgsrealsense2_description:存放Realsense相关型号的相机模型文件及xacro文件。这里的相机型号包括d415、d345、r410、r430和t265。可以用view_d415_model.lau