google-chrome - 如何从网页上的十六进制字符串获取颜色?例如,通过选择它

标签 google-chrome google-chrome-extension color-picker

这是一个网站 page with documentation 。它解释了图表的颜色选项。

enter image description here

我想知道十六进制字符串的视觉值。我怎样才能得到它? ColorZilla 的吸管器在这里表现不佳。

最好的选择是选择它并在鼠标右键单击时在 Chrome 菜单中选择“显示颜色”。

操作系统是 Ubuntu,不幸的是,我猜选项可能会受到限制。

最佳答案

这是一种无需创建新选项卡即可实现的高级方法

ma​​nifest.json

{
  "manifest_version": 2,
  "name": "Color Show",
  "description": "",
  "version": "1.0.0",
  "content_scripts": [{
    "js": ["content-script.js"],
    "matches": [
      "http://*/*",
      "https://*/*"
    ],
    "run_at": "document_end"
  }],
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": [
    "tabs",
    "contextMenus"
  ]
}

背景.js

chrome.contextMenus.removeAll(() => { 
    chrome.contextMenus.create({
        title: 'Show color',
        contexts: ['selection'],
        onclick: (e, tab) => {
            const selected = e.selectionText;
            const tabId = tab.id; 

            if(selected.match(/^#(?:[0-9a-fA-F]{3}){1,2}$/)) {
                chrome.tabs.sendMessage(tabId, {
                    color: selected
                });
            }
        }
    });
});

content-script.js

// create simple modal in a shadow dom
const host = document.createElement('div'); 
const shadowRoot = host.attachShadow({mode: 'open'});

// you can tune modal styles here
shadowRoot.innerHTML = '<div id="color_box" style="display:none; position: absolute; top: 0; z-index:9999; width: 80px; height: 80px"></div>';
document.body.appendChild(host);

const colorBox = shadowRoot.getElementById('color_box');

// show color by the message from background script
chrome.runtime.onMessage.addListener(request => {
    colorBox.style.backgroundColor = request.color;
    colorBox.style.display = 'block';
});

关于google-chrome - 如何从网页上的十六进制字符串获取颜色?例如,通过选择它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48367219/

相关文章:

javascript - 如何启用 chrome 浏览器以允许本地 cookie? --enable-file-cookies

javascript - javascript 的 Jquery 参数替代方案

javascript - 循环 jQuery 并在每次更改时分配?

android - Android 中的 ColorPicker 无法正常工作

javascript - anchor 标记下载属性不起作用 :Bug in Chrome 35. 0.1916.114

css - Chrome 在打印的透明 png/gif 中添加灰色轮廓

html - 是否可以使浏览器的一部分透明显示网络应用程序中的底层桌面/窗口?

html - 如何调整 Chrome 扩展程序弹出窗口的大小?

javascript - 加密 Chrome 扩展?

jquery - 是否可以以编程方式设置选取器中的事件颜色?