草庐IT

javascript - 在谷歌浏览器扩展中获取鼠标坐标

我拼命寻找在单击上下文菜单或使用快捷键时检索用户鼠标坐标的方法如果可能的话,我希望不必使用需要用户移动的onmousemove事件:/你知道怎么做吗?提前感谢您的回复 最佳答案 这只是一个简单的示例,仅适用于:文件->更改manifest.json中的"matches":["file:"]以添加新功能上下文菜单选择->更改上下文:contextMenus.create(bg.js)中的["selection"]以添加新功能辅助鼠标按钮->在(c.js)中更改(mousePos.button==2)以添加新功能你也可以试试moused

javascript - 添加一个点以扩展多边形而不将其附加到 Google map 中?

我正在Googlemap中通过可以拖动以reshape形状的标记构建多边形。因此,当有3个标记时,将绘制多边形,并在形状中附加更多标记,扩展它。当用户只想遵循简单的顺时针/逆时针模式时,这很好,但当他想通过其边缘之一扩展多边形时,它会附加标记,扭曲自身。在此示例中,如果我们添加标记1、2和3,它将绘制一个简单的三Angular形。但是,如果添加标记4,多边形就会自行扭曲。相反,我希望在添加4时将其插入标记1和2之间,如下图所示:基本上,在多边形的顶点数组中,而不是:[//marker1position,//marker2position,//marker3position,//curr

javascript - 跨网络应用程序和 Chrome 扩展程序共享本地存储对象

我需要将用户配置文件和他的偏好存储在localStorage对象\cookie中,以便它们可以从网络应用程序和chrome扩展程序(基本上是相同的产品)。我找到了thiscoollibrary和thisarticle指定如何使用它。问题是xauth.org已关闭,serverpage也已关闭这是使用库所必需的。任何选择 最佳答案 您可以同时使用localStorage和cookie。如果你注入(inject)一个contentscript在网络应用程序的页面中,其localStorage与域自己的存储共享。然后你可以communic

javascript - 如何使用 Google Chrome 扩展更改所选文本的 CSS

我正在为使用contextMenus更改所选文本的CSS的Chrome浏览器制作一个扩展程序。但我无法访问HTML结构,即所选文本的parentNode,因为在本例中我可以非常轻松地做到这一点。varselection=window.getSelection();如果在浏览器中默认使用,这将返回所选文本的parentNode,稍后我可以使用它来更改CSS。如何使用Chrome浏览器扩展程序实现这一点? 最佳答案 由于Chrome不允许您使用上下文菜单与您单击的元素进行交互,因此您必须创建一个contentscript存储在页面上被右

javascript - `util.inherits` 和扩展 NodeJS 原型(prototype)的区别

我从0.11/0.12开始就一直在使用Node,所以如果这是一个来晚了的问题,请纠正我。我试图理解使用util.inherits(Son,Dad)和简单地扩展Son.prototype=[new]Dad()的原型(prototype)之间的区别.对于这个例子,我继承了一个Transformstream首先使用util.inherits:varutil=require('util')varTransform=require('stream').Transformutil.inherits(TStream,Transform)functionTStream(){Transform.call

javascript - 在 devtools 中检查扩展的 chrome.storage

ChromeDevTools有一个方便的本地存储和session存储检查器,但没有什么可检查的chrome.storage.sync?chrome://sync-internals/似乎没有显示每个扩展的同步存储的实际内容。 最佳答案 StorageAreaExplorer扩展提供了用于查看、编辑、清除、导入和导出chrome.storage.local、chrome.storage.sync、localStorage和sessionStorage.将来可能会在本地实现此功能:https://crbug.com/848752.Man

javascript - 在 chrome 扩展中,如何将跨源消息从父内容脚本发送到特定子 iframe 中的内容脚本

我正在开发一个带有list的Chrome扩展程序,目前可以访问所有主机。后台脚本将内容脚本注入(inject)所有框架。DOM加载完成后,顶部页面/框架中的内容脚本开始遍历DOM树。当walker遇到iframe时,它​​需要向与该iframe窗口相关联的特定内容脚本发送消息(可能是跨源)以开始其工作,并在此消息中包含一些序列化数据。父窗口暂停执行并等待子窗口完成它的行走,并发送回一条消息,表明它已完成并连同序列化数据。parent然后继续其工作。我已经尝试了两种方法来解决这个问题:frameElement.contentWindow.postMessage:这在大多数情况下都有效,但

javascript - 使用 Chrome 扩展内容脚本将 iframe 加载到页面中

我可以使用内容脚本将HTML/CSS动态添加到页面中。但是我尝试添加一个iframe标签,但遇到了一点麻烦。这是我的代码:constmyIFrame=``;letdiv=document.createElement('div');div.style.zIndex=9999999;div.innerHTML=myIFrame;document.body.insertBefore(div,document.body.firstChild);请注意modalIFrameURL值为:chrome-extension://omelijcoklpokoeobkpepoipjpbakoeo/moda

javascript - 在 Chrome 扩展中,你能强制在一切之前注入(inject)一些 javascript 吗?

我有一个Chrome扩展程序(下面提供了源代码)遇到了竞争条件。我需要一些注入(inject)的JavaScript在网页上的所有其他JavaScript之前运行。我正在尝试做的一个简单示例的源代码在这里:https://github.com/nddipiazza/oogi它试图将namespace添加到所有实际上将作为cookie持久化的cookie名称,但同时从正在使用的cookie中删除这些namespace。因此,如果没有扩展名,您通常会在访问网站后保存2个cookie:JSESSIONIDlastVisit此扩展会将它们保存为:oogi$JSESSIONIDoogi$last

Javascript,扩展ES6类setter会继承getter

在Javascript中,具有以下说明代码:classBase{constructor(){this._val=1}getval(){returnthis._val}}classXtndextendsBase{setval(v){this._val=v}}letx=newXtnd();x.val=5;console.log(x.val);//prints'undefined'实例x不会从Base类继承getval()...。实际上,Javascript在存在setter的情况下将缺少getter视为未定义。我遇到的情况是,我有很多类都具有完全相同的一组获取方法,但设置方法各不相同。目前