Coder Social home page Coder Social logo

mychromeextension's Introduction

mychromeextension's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

mychromeextension's Issues

鼠标悬停显示源码

window.document.body.onmouseover = function(event){
  var event_target = event.target;
  //console.log('onmouseover : ' + event_target);
  if(event_target['title'] === null || event_target['title'] === ''){
    event_target['title'] = 'onmouseover : ' + event_target.innerHTML.replace(' ', '');
  }
  else if(event_target['title'] !== null && event_target['title'].indexOf('onmouseover : ') === -1){
    event_target['title'] += "\r\n\r\n" + 'onmouseover : ' + event_target.innerHTML.replace(' ', '');
  }
}

使用 chrome.storage.sync,保存和同步用户的插件设置

var my_chrome_extension_js_settings = {};

var my_show_storage_usage = function () {
    chrome.storage.sync.getBytesInUse(null, function(data) {
        console.log('MyChromeExtension storage sync usage: ' + data + ' Bytes');
    });
    chrome.storage.sync.get(null, function(data) {
        console.log('MyChromeExtension storage sync load: ' + JSON.stringify(data));
        my_chrome_extension_js_settings = data;
        localStorage.setItem('my_chrome_extension_js_settings', JSON.stringify(my_chrome_extension_js_settings));
    });
};
var my_clear_storage_usage = function () {
    chrome.storage.sync.clear();
};
my_show_storage_usage();

var my_set_js_setting = function (key, value) {
    var js_setting = {};
    js_setting[key] = value;
    var js_file = my_get_loaded_js();
    var data = {};
    data[js_file] = js_setting;
    my_chrome_extension_js_settings[js_file] = js_setting;
    localStorage.setItem('my_chrome_extension_js_settings', JSON.stringify(my_chrome_extension_js_settings));
    chrome.storage.sync.set(data, function() {
        console.log('MyChromeExtension storage sync set ok: ' + JSON.stringify(data));
    });
    console.log('MyChromeExtension my_set_js_setting: ' + JSON.stringify(data));
};

var my_get_js_setting = function (key) {
    chrome.storage.sync.get(null, function(data) {
        console.log('MyChromeExtension storage sync get ok: ' + JSON.stringify(data));
        my_chrome_extension_js_settings = data;
        localStorage.setItem('my_chrome_extension_js_settings', JSON.stringify(my_chrome_extension_js_settings));
    });
    var value = undefined;
    var js_file = my_get_loaded_js();
    var js_setting = my_chrome_extension_js_settings[js_file];
    if(js_setting && js_setting[key]){
        value = js_setting[key];
    }
    else {
        var tmp_settings = JSON.parse(localStorage.getItem('my_chrome_extension_js_settings'));
        if(tmp_settings && tmp_settings[js_file] && tmp_settings[js_file][key]){
            value = tmp_settings[js_file][key];
        }
    }
    var data = {};
    data[key] = value;
    console.log('MyChromeExtension my_get_js_setting: ' + JSON.stringify(data));
    return value;
};

chrome.storage.onChanged.addListener(function(changes, areaName){
    console.log('MyChromeExtension storage ' + areaName + ' changed: ' + JSON.stringify(changes));
    // {"chrome-extension://iklbhcbmbooeeckkjljbmoekngggplbd/site/all.js":{"newValue":{"MyChromeExtension":"MyChromeExtension"}}}
    // {"chrome-extension://iklbhcbmbooeeckkjljbmoekngggplbd/site/all.js":{"oldValue":{"MyChromeExtension":"MyChromeExtension"}}}
});

my_set_js_setting('MyChromeExtension', 'MyChromeExtension');
my_get_js_setting('MyChromeExtension');
my_clear_storage_usage();

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.