新增 README 页面无须跳转即可收听正确读音 的 chromium 扩展 (#367)
* 新增README.md页面无跳转即可收听正确读音 的 chromium 扩展 * add 手动安装扩展 方法 * fix no element error * add comment console log * change load chrome extension describe * use prettier format code * comment console.logpull/374/head
parent
6986c65654
commit
9a24dc03b5
@ -0,0 +1,4 @@
|
|||||||
|
/tools/chromium_extension/_metadata
|
||||||
|
/tools/chromium_extension/node_modules
|
||||||
|
/tools/chromium_extension/package-lock.json
|
||||||
|
/.idea
|
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
let URLObj = new URL(location.href);
|
||||||
|
console.log(URLObj);
|
||||||
|
if (document.querySelector("#readme table tbody")) {
|
||||||
|
let audio_player = new Audio();
|
||||||
|
audio_player.setAttribute("autoplay", "true");
|
||||||
|
document
|
||||||
|
.querySelector("#readme table tbody")
|
||||||
|
.addEventListener("click", (event) => {
|
||||||
|
// console.log(event)
|
||||||
|
// console.log(event.target.nodeType)
|
||||||
|
// console.log(event.target.nodeName);
|
||||||
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
|
|
||||||
|
let audio_url = null;
|
||||||
|
if (event.target.nodeName === "TD") {
|
||||||
|
let aTag = event.target.querySelector("a");
|
||||||
|
if (aTag) {
|
||||||
|
audio_url = aTag.getAttribute("href");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (event.target.nodeName === "IMG") {
|
||||||
|
let aTag = event.target.parentNode.parentNode;
|
||||||
|
audio_url = aTag.getAttribute("href");
|
||||||
|
}
|
||||||
|
if (audio_url) {
|
||||||
|
// console.log("audio_url:", audio_url);
|
||||||
|
audio_player.setAttribute("src", audio_url);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"name": "chinese-programmer-wrong-pronunciation-chromium-extension",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"manifest_version": 3,
|
||||||
|
"description": "README.md 页面无跳转 即可听正确读音",
|
||||||
|
"content_scripts": [
|
||||||
|
{
|
||||||
|
"matches": ["*://*/shimohq/chinese-programmer-wrong-pronunciation/*"],
|
||||||
|
"run_at": "document_end",
|
||||||
|
"js": ["js/content-script.js"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"permissions": [
|
||||||
|
"declarativeNetRequest",
|
||||||
|
"declarativeNetRequestWithHostAccess"
|
||||||
|
],
|
||||||
|
"host_permissions": ["*://github.com/*", "*://localhost:*/*"],
|
||||||
|
"declarative_net_request": {
|
||||||
|
"rule_resources": [
|
||||||
|
{
|
||||||
|
"id": "remove_content_security_policy",
|
||||||
|
"enabled": true,
|
||||||
|
"path": "rules/remove_content_security_policy.json"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"author": "https://github.com/jingjingxyk",
|
||||||
|
"homepage_url": "https://github.com/shimohq/chinese-programmer-wrong-pronunciation.git"
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"name": "chinese-programmer-wrong-pronunciation-chromium-extension",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "README.md 页面无跳转 即可听正确读音",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"format-code": "npx prettier --write . && exit 1"
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"devDependencies": {
|
||||||
|
"prettier": "2.6.2"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,60 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"priority": 99,
|
||||||
|
"action": {
|
||||||
|
"type": "modifyHeaders",
|
||||||
|
"responseHeaders": [
|
||||||
|
{ "header": "content-security-policy", "operation": "remove" },
|
||||||
|
{
|
||||||
|
"header": "content-security-policy-report-only",
|
||||||
|
"operation": "remove"
|
||||||
|
},
|
||||||
|
{ "header": "expect-ct", "operation": "remove" },
|
||||||
|
{ "header": "report-to", "operation": "remove" },
|
||||||
|
{ "header": "x-content-security-policy", "operation": "remove" },
|
||||||
|
{ "header": "x-webkit-csp", "operation": "remove" },
|
||||||
|
{ "header": "x-xss-protection", "operation": "remove" },
|
||||||
|
{
|
||||||
|
"header": "x-permitted-cross-domain-policies",
|
||||||
|
"operation": "remove"
|
||||||
|
},
|
||||||
|
{ "header": "x-content-type-options", "operation": "remove" },
|
||||||
|
{ "header": "x-frame-options", "operation": "remove" },
|
||||||
|
{ "header": "permissions-policy", "operation": "remove" },
|
||||||
|
{ "header": "timing-allow-origin", "operation": "remove" },
|
||||||
|
{ "header": "cross-origin-embedder-policy", "operation": "remove" },
|
||||||
|
{ "header": "cross-origin-opener-policy", "operation": "remove" },
|
||||||
|
{
|
||||||
|
"header": "cross-origin-opener-policy-report-only",
|
||||||
|
"operation": "remove"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"header": "cross-origin-embedder-policy-report-only",
|
||||||
|
"operation": "remove"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"condition": {
|
||||||
|
"urlFilter": "*",
|
||||||
|
"requestDomains": ["github.com", "githubusercontent.com"],
|
||||||
|
"resourceTypes": [
|
||||||
|
"main_frame",
|
||||||
|
"sub_frame",
|
||||||
|
"stylesheet",
|
||||||
|
"script",
|
||||||
|
"image",
|
||||||
|
"font",
|
||||||
|
"object",
|
||||||
|
"xmlhttprequest",
|
||||||
|
"ping",
|
||||||
|
"csp_report",
|
||||||
|
"media",
|
||||||
|
"websocket",
|
||||||
|
"webtransport",
|
||||||
|
"webbundle",
|
||||||
|
"other"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
Loading…
Reference in new issue