草庐IT

chrome-extension

全部标签

javascript - 如何将 Blob 从 Chrome 扩展程序传递到 Chrome 应用程序

一点背景我已经在Chrome扩展程序上工作了几天,该扩展程序每天多次截取给定网页的屏幕截图。我用过this作为指南,事情按预期进行。但是,有一个次要要求扩展无法满足。用户必须有权访问保存图像(屏幕截图)的文件夹,但ChromeExtensionsdon'thaveaccesstothefilesystem.另一方面,Chrome应用程序可以。因此,经过多次环顾之后,我得出结论,我必须同时创建Chrome扩展程序和Chrome应用程序。这个想法是,扩展程序会创建一个截图的blob,然后将该blob发送到应用程序,然后应用程序将其作为图像保存到用户指定的位置。这正是我正在做的——我在扩展端

javascript - 为什么 console.log 在 Chrome 的某些网站上是一个空函数?

转到Twitter的登录页面并在控制台中键入以下内容:window.addEventListener('keypress',function(e){console.log('hello')},true)(注意:如何将第三个参数设置为true以启用事件捕获。这会导致事件在被子元素使用之前首先被窗口拦截。)尝试按一些键。请注意hello是如何不输出到控制台的。为keydown或keyup添加事件监听器不会改变任何内容。hello将在大多数网站上获得输出,但不会在Twitter或Gmail等网站上获得输出。为什么?是什么阻止了事件监听器?编辑:似乎在Firefox上按预期工作。但不是Chro

javascript - 是否有一个 JavaScript 函数可以让 Google Chrome 进入调试器?

我正在.NET中寻找类似Debugger.Launch()的东西,它以编程方式进入调试器。我不是在寻找一种跨浏览器的方式来做到这一点,谷歌浏览器就足够了。 最佳答案 是的,你需要使用:debugger;脚本将恰好在您放置debugger关键字的行处中断。要查看它,您首先需要打开工具->开发者工具(或按F12),然后从脚本中选择您的文件强>标签。 关于javascript-是否有一个JavaScript函数可以让GoogleChrome进入调试器?,我们在StackOverflow上找到一

javascript - Chrome Dev Console 中的蓝色数字?

在javascript中,我有一个变量,我将其推送到console.log然后递增它并再次将其推送到日志,这在Chrome开发工具中显示如下。这个变量做了一些奇怪的事情,比如如果我尝试使用+=运算符来添加它,它实际上将添加的值放在数字后面(例如如果x=5而我做了x+=3,x将等于53)。真正令人难以置信的部分是用++递增它按预期工作,但我的问题不是为什么会这样,而是为什么递增的数字在控制台中是蓝色的?如果有人能告诉我发生上述情况的可能情况,那就太好了,但我感觉控制台中的蓝色条目与此相关。那么基本上为什么在Chrome开发者控制台中,数字会显示为蓝色? 最佳答

Chrome 中的 JavaScript Promise/Defer

我使用的是支持Promise规范的Q库。但是我也尝试使用不久前(实验性)在Chrome中实现的Promise类。Q中有一个defer函数,可用于创建一个未实现的promise,该promise可以在未来解决或拒绝。我使用Chrome中提供的nativePromise实现了相同的功能。这是一个例子:vardefer=function(){varresult={};result.promise=newPromise(function(resolve,reject){result.resolve=function(value){resolve(value);};result.reject=f

javascript - ESLint: 'chrome' 未定义 (no-undef)

我将ESLint添加到我的chrome扩展项目中。我正在使用以chrome.开头的chromeAPI,但显然eslint指出它是错误的。我想应该是这样的:"env":{"browser":true,"chrome":true,"es6":true},但显然不是。UPD:我认为最佳答案是添加webextensions:true–正如wOxxOm所建议的。因为它是一个chrome扩展-chrome.API在这里被大量使用。否则按照其他建议添加/*globalchrome*/会更好。感谢您的回答。 最佳答案 你需要添加:"env":{//

javascript - 如何在 Chrome 的元素选项卡中设置事件监听器断点?

我正在努力在动态生成的DOM元素中设置断点,其中不同的事件处理程序也从Javascript绑定(bind)。这基本上意味着我有一个漂亮的DOM结构,它不是最初接收到的HTTP响应的一部分,它纯粹是在客户端构建的。现在的问题是Chrome的Elements选项卡只允许我设置断点子树修改或属性修改或节点移除是否可以通过某种方式在动态创建的DOM元素的动态创建的事件监听器中设置断点?(见附图。我想将断点设置到listenerbody中)请注意,我也不能使用“来源/脚本”选项卡,因为它只显示最初收到的静态HTTP内容响应。而且我无法在“事件监听器”Accordion中引用的代码中设置断点,因为

javascript - "Un-redefining"Google Chrome 的控制台对象

我正在处理一个系统,其中以下Javascript代码(不在我的控制范围内)在页面的早期执行if(!("console"inwindow)||!("firebug"inconsole)){varnames=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(vari=0;i此代码似乎用于创建模拟console对象,以防止在没有

javascript - 获取 Chrome 的当前语言环境

我正在使用此API确定浏览器的当前语言环境:varlanguage=window.navigator.userLanguage||window.navigator.language;这在IE中返回"fr-FR",但在Chrome中它只返回"fr"(对于其他语言环境也是如此)。在Chrome中是否还有另一个API会返回"fr-FR"?我们依靠它来加载适当的文化文件。 最佳答案 更新:截至2021年9月,Chrome对Intl库提供了相当广泛的支持。functiongetClientLocale(){if(typeofIntl!=='u

javascript - 为什么 javascript 对象在 Chrome、Firefox、Safari 的控制台中显示不同的值?

这个问题在这里已经有了答案:关闭10年前。社区在18天前审查了是否重新打开此问题,并将其关闭:原始关闭原因未解决PossibleDuplicate:IsChrome'sJavaScriptconsolelazyaboutevaluatingarrays?考虑这个javascript:varfoo={bar:1111};console.log(foo);console.log(foo.bar);foo.bar=2222;console.log(foo);console.log(foo.bar);在Firefox的Firebug中,这显示了我所期望的:Object{bar=1111}111