Giter Club home page Giter Club logo

chrome-plugin-demo's Introduction

  • 👋 Hi, I’m @sxei
  • 👀 I’m interested in ...
  • 🌱 I’m currently learning ...
  • 💞️ I’m looking to collaborate on ...
  • 📫 How to reach me ...

chrome-plugin-demo's People

Contributors

hiyangguo avatar sxei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chrome-plugin-demo's Issues

发布审核出现延期问题? 一般审核周期会是多长时间?

你好,提交审核出现这个问题是正常么?

image

全文如下:

由于存在以下问题,您的扩展程序可能必须接受深入审核:
- 宽泛的主机权限
除了请求宽泛的主机权限之外,您也可考虑使用 activeTab 权限,或者指定您的扩展程序需要访问的网站。相较于针对数量不定的网站授予完整访问权限,这两种方法不仅更安全,还可能有助于最大限度地缩减审核用时。

activeTab 权限允许访问相应标签页以响应明确的用户手势。

{
...
"permissions": ["activeTab"]
}
如果您的扩展程序只是需要在某些网站上运行,请直接在扩展程序清单中指定这些网站:
{
...
"permissions": ["https://example.com/*"]
}

大佬,有个小问题

扩展程序上怎么对接第三方登录,怎么拿到登录后的回调信息
跪求大佬方案

"content_scripts" 里用 JS 引入外部 CSS 文件的样式加载问题

我在 Stylus 里给一个网站写好了样式,想做成一个插件。
我在 manifest.json 中引入了一段 JS, JS里也引入了一个外部 CSS 文件。

// manifest.json
"content_scripts": [{
...
"js": ["js/custom.js"],
"run_at": "document_start"
}],

// JS
var style = document.createElement('link');
style.rel = 'stylesheet';
style.type = 'text/css';
style.href = chrome.extension.getURL('css/custom.css');
(document.head||document.documentElement).appendChild(style);

现在的情况是如果 run_at 设置为 “start”,样式会直接加载在 的前面,我的样式会被下面源网站的 CSS 文件所覆盖(我写的 CSS 优先级较低),如果 run_at 设置为 “idle” 或 “end”,网页会先显示原本的 CSS,再显示我写的 CSS,画面会跳一下。

请问有什么方法可以让网站先看到我写的 CSS,而不被源网站的覆盖掉吗?(除了用 # 或 !important 改优先级,因为行数还挺多的,当时在 stylus 里改的时候没想到)

请教一个问题!关于tabs.sendMessage

我在background里使用tabs.query获取tab,然后sendMessage,为什么会返回下面这个错误?
Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.

 chrome.tabs.query({currentWindow:true},function(tabs){
        for(let i in tabs){
            chrome.tabs.sendMessage(tabs[i].id, {greeting: "hello"}, function(response) {
                console.log(response.farewell);
              });
        }
    })

操作cookie的疑问

Chrome 插件 可以在对应的网站网址下,操作另一个域名网址的cookie 么? 比如 我打开了www.baidu.com 网址, 但是 我可以通过插件 改变www.jd.com 的cookie。 有这种功能么?

好文,补充

右键菜单的contexts属性是这是在哪个版本加了好多值呀?
"all", "page", "frame", "selection", "link", "editable", "image", "video", "audio", "launcher", "browser_action", or "page_action"

browser_action在图表的右键上追加菜单,应该挺常用的。

inject注入js加载顺序问题

如果在inject注入的js中需要调用jq,执行
injectCustomJs("js/jquery-3.1.1.min.js");
injectCustomJs();
然而仍报错 Uncaught ReferenceError: $ is not defined
调试发现jq确实在inject.js之前注入,但执行顺序似乎有问题,请问该如何解决呢

关于 `injected-script`和 `content-script` 的描述有误。

亲自试验了一下,在 chrome 70 中, 直接使用在 mainfest.json 中配置的 content-script 是可以给 dom 绑定事件的。不知道是不是文章有问题。

content-scripts和原始页面共享DOM,但是不共享JS,如要访问页面JS(例如某个JS变量),只能通过injected js来实现。

这句话的意思是注入的 script 可以访问页面js 中的变量?官方文档说的是,content-scirpt 是隔离运行的,所以不能访问吧?能提供一下demo 么? 感谢。

希望补充插件TCP通信方面的实例

首先要感谢大侠的教程,诚如其名,干货满满!

想要在我的插件中添加TCP通信功能,找了好多参考(参考一, 参考二, 参考三, 参考四),都是语焉不详
最多见到的例子如下:

chrome.experimental.socket.create('tcp', '127.0.0.1', 8080, function(socketInfo) {
  chrome.experimental.socket.connect(socketInfo.socketId, function (result) {
        chrome.experimental.socket.write(socketInfo.socketId, "Hello, world!");         
    });
});

说是需要保存 socketId 供后面调用,但是 socketId 是怎么来的都没说清楚

希望大侠能通过实例把这部分补充到教程中,多谢了!

补充几个有价值的参考:
参考1
websocket-client
Websocket Server

大佬,问个问题

我有个需求,假如我在某一个页面上看到一些感兴趣的字眼,比如机器学习,我想做一个插件,就是可以通过选定 机器学习 这四个字,右击,然后出现"在网站A上搜索 机器学习 ",这样.
但这个网站A啊,它不是像百度,豆瓣那样可以通过构造url然后通过get的形式达到目的,而是以关键字作为key,POST一个search的url,请问这种要怎么做啊?

修改script,image,requestHeaders项目无效

如题types添加了 script image 修改requestHeaders项目 只有文档是修改成功的 Js 还有图片格式都无效
在callback 函数里修改了UA项 并且返回修改后的 然后刷新查看network里的
下面是代码

var callback = function(details) {
   for (var i = 0; i < details.requestHeaders.length; ++i) {
            if (details.requestHeaders[i].name === 'User-Agent') {
              details.requestHeaders[i].value = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; WebView/3.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134";
              break;
            }
          }
          console.log(details.url);
          console.log(details.requestHeaders[i].value);
          return {requestHeaders: details.requestHeaders};
};
var filter = {urls: ["<all_urls>"],
types: ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest"]
};
var opt_extraInfoSpec = ["requestHeaders","blocking"];

chrome.webRequest.onBeforeSendHeaders.addListener(
        callback, filter, opt_extraInfoSpec);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.