我尝试开发一个简单的Chrome扩展程序,当我单击popup.html中的按钮时,该扩展程序可以更改所拖动内容的字体颜色。我使用document.execCommand,但是我不知道如何传输从colorbox中选择的颜色值。请帮助我。
这是我的代码:
1。 manifest.json
{
"manifest_version": 2,
"name": "test",
"version" : "1.0",
"description": "test",
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["content.js"]
}],
"background": {
"scripts": ["jquery-3.3.1.slim.js", "background.js"]
},
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"activeTab",
"tabs",
"storage",
"http://*/*",
"https://*/*"
]
}
2。 popup.html
<!doctype html>
<html>
<head>
<script src="jquery-3.3.1.slim.js"></script>
<script src="popup.js"></script>
</head>
<body>
<button id="fontColorButton">Font Color</button>
<input id="colormap" type="color" value="#000000"/>
</body>
</html>
3。 popup.js
$(document).ready(function() {
$('#fontColorButton').click(function() {
chrome.tabs.query({active: true, currentWindow: true},function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {message: "forecolor"});
});
});
$('#colormap').click(function() {
colormap = document.querySelector("#colormap");
color = colormap.select();
chrome.tabs.query({active: true, currentWindow: true},function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {message: "colormap", color});
});
});
});
4。 content.js
chrome.runtime.onMessage.addListener(function(request, sender) {
if (request.message == "forecolor") {
TextMode(request.message, value);
}
else if (request.message[0] == "colormap") {
console.log(request.message[0]);
value = request.message[1];
console.log(value);
}
});
function TextMode(mode, value) {
document.designMode = "on"; // designMode on for execCommand
document.execCommand(mode, false, value);
document.designMode = "off"; // designMode off for execCommand
return false;
}
答案 0 :(得分:0)
mysqli_stmt_bind_param($stmt, "ssss", $username, $password, $email, $toon);
不是Array,而是Object。
构造它的传统方式是{message: "colormap", color}
,但是您使用的是可接受的literal shorthand in ES6。
因此,不应使用像{message: "colormap", color: color}
这样的数组索引来访问其组件。实际上,没有任何概念或“顺序”,[0]
和{a: "a", b: "b"}
是相同的,所以哪个是0th?。
这是您的操作方式:
{b: "b", a: "a"}