Articles of 谷歌铬扩展

将CaptureVisibleTab图像保存到临时文件以通过Node.js服务器发送

我试图捕获一个可见的选项卡使用铬扩展名。 我已经设法让图像显示在另一个标签检查其工作。 但我实际上想要拍摄的图像,保存为用户计算机上的临时文件中的PNG。 然后最终被发送到服务器,但这是一个不同的问题。 道歉,如果格式不好,我正在学习。 var id = 100; chrome.browserAction.onClicked.addListener(function() { chrome.tabs.captureVisibleTab(function(screenshotUrl) { var viewTabUrl = chrome.extension.getURL('../HTML/InfoPullHTML.html?id=' + id++) var targetId = null; chrome.tabs.onUpdated.addListener(function listener(tabId, changedProps) { if (tabId != targetId || changedProps.status != "complete") return; // alert('test2'); chrome.tabs.onUpdated.removeListener(listener); // alert('test3'); var views = chrome.extension.getViews(); // alert('test4'); for (var i = 0; i < views.length; […]

Chrome扩展程序:向使用Cookie凭据(CORS)发送的node.js服务器发出http请求

我一直有一些与我的node.js服务器的问题。 我使用heroku启动它,现在我想要我的Chrome扩展发送http请求到服务器(使用cookie)。 我正在使用express.js作为后端,并且无法正确设置CORS。 这是我在app.js中的: if (process.env.NODE_ENV !== 'production') { app.use(cors({ credentials: true, origin: ['http://localhost:4200', 'http://localhost:8000', 'chrome-extension://kdfekbilmpafgiocanhihiogknfilcio'] })); } else { app.use(cors({ credentials: true, origin: ['chrome-extension://kdfekbilmpafgiocanhihiogknfilcio'] })); } app.use(session({ secret: 'angular shhh secret auth', resave: true, saveUninitialized: true, cookie : { httpOnly: true, expires: new Date(253402300000000) } })); 我正在从我的Chrome扩展(客户端)请求这样的: signUp(user) { const options = { withCredentials: […]

.lock文件在试图生成Yeoman Chrome扩展时会受到阻碍

刚安装了yeoman一个干净的副本以及generator-chrome-extension 。 我跑了,一切顺利,直到我走到这一步: ✔ pre-build test passed successfully! npm WARN optional dep failed, continuing imagemin-jpegtran@0.1.0 npm WARN optional dep failed, continuing imagemin-optipng@0.1.0 npm WARN optional dep failed, continuing imagemin-gifsicle@0.1.1 npm ERR! EEXIST, open '/home/vagrant/.npm/5ac6bb0f-ant-npm-lodash-2-4-1-package-tgz.lock' File exists: /home/vagrant/.npm/5ac6bb0f-ant-npm-lodash-2-4-1-package-tgz.lock Move it away, and try again. npm ERR! System Linux 3.13.0-30-generic npm ERR! command "/home/vagrant/.nvm/v0.10.32/bin/node" "/home/vagrant/.nvm/v0.10.32/bin/npm" "install" npm […]

只允许来自我的Chrome扩展的请求

我有一个NodeJS服务器与DigitalOcean上的Express配合使用。 我正在使用我的Chrome扩展程序进行GET调用。 它目前工作得很好,但我想收紧以下中间件的安全性: // Add headers app.use(function (req, res, next) { // Website you wish to allow to connect res.setHeader('Access-Control-Allow-Origin', '*'); //todo: change this // Request methods you wish to allow res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); // Request headers you wish to allow res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); // Set to true if you need the […]

如何从程序自动生成一个铬扩展程序?

我正在开发一个Chrome扩展,我不知道有什么办法可以将开发目录压缩成.crx文件,可以像使用Python或NodeJS一样通过程序在Chrome中安装? 我发现这个链接说你可以将.crx改成.zip ,解压后你可以看到扩展的代码。 所以,我反过来试了一下。 我手动将我的开发chrome扩展目录压缩为.zip文件格式,并将.zip更改为.crx ,然后尝试将它安装在chrome中,但它不起作用。 很显然,使用程序压缩目录到.zip将其重命名为.crx不起作用。 如何从程序自动生成一个铬扩展程序? 我正在使用Python和NodeJS。

browser.d.ts依赖Edge Web扩展API browser.runtime。* in typescript

对于使用typescript开发的chrome扩展,我们需要在typings文件夹中定义一个名为chrome.d.ts的文件,用于访问诸如chrome.runtime。*或chrome.tabs。*之类的networking扩展API。 对于边缘扩展,在打字稿中进行开发,我们需要在typings文件夹中定义一个名为browser.d.ts的定义文件,用于访问诸如browser.runtime的networking扩展API。 我们如何使用节点包pipe理器(npm)下载这个依赖关系。 我在我的background.ts文件中添加了一个对文件的引用,例如: /// reference path =“typings / browser / browser.d.ts”

从Chrome的nativeMessaging API调用节点应用程序

准系统样品 我有一个扩展,我加载在开发人员模式(已经尝试打包和解压扩展)。 它由三部分组成: 的manifest.json main.html中 main.js 而一个应用程序本身由三部分组成: app.js app.bat node.json 希望的状态 当我从命令行运行node app.js ,程序按预期运行。 app.js源代码: var fs = require('fs'); var util = require('util'); var encoding = "utf8"; var launch = new Date(); var logFile = "C:\\Users\\Jason.Nichols\\Desktop\\Node\\log.txt" function fileLog(arg){ var d = new Date(); var e = d.toString() + " "; if(typeof arg != 'string'){ arg […]

安装Chrome个人资料的扩展程序 量angular器

如何检查扩展是否被安装? 我已经手动尝试,并没有看到它,但我能够在Firefox中看到它。 helper.js: var q = require('q'); var fs = require('fs'); exports.getCapabilities = function (filename) { var deferred = q.defer(); fs.readFile(filename, function (err, data) { var capabilities = { 'browserName': 'chrome', 'chromeOptions': { extensions: [ data.toString('base64') ] } }; deferred.resolve(capabilities); }); return deferred.promise; }; var helper = require('./helper.js'); directConnect: false, exports.config = { specs: ['spec.js'], […]

如何从Node JS应用程序获取Chrome中的当前url

我希望我的Node js应用程序能够在活动的Chrome窗口中获取活动选项卡的URL。 任何想法如何做到这一点? 现在,我有Node应用程序模拟键入一个关键组合使用kbm-robot在浏览器中通过一个扩展名,通过HTTP请求的方式传递到Node应用程序的URL。 这在一台机器上工作,但我很难在另一台机器上工作。 当然这个解决scheme是一个kludge,所以我正在寻找一个更好的方法。 WebRTC可能适用于这里? 我更喜欢跨平台解决scheme,但现在只需要在Windows上工作。

桌面stream媒体到一个HTMLvideo标签

我正在试图build立一个网站,用户可以将他们的屏幕分享给其他用户。 我做了一个Chrome扩展,使用navigator.webkitGetUserMedia来获取按下button的用户的屏幕。 目前我只使用URL.createObjectUrl(stream) (其中stream是我从webkitGetUserMedia获得的stream)获取BLOBurl,然后设置video标签的src等于这个url。 显然这只显示给按下button的用户的屏幕。 不过我想知道如何让所有的用户都能看到这个stream。 我曾尝试通过socket.io将URL发送给其他用户,但他们无法访问BLOB。 任何想法,我如何使这项工作?