Skip to content

Commit 30de58c

Browse files
committed
update
1 parent 913add6 commit 30de58c

File tree

3 files changed

+122
-67
lines changed

3 files changed

+122
-67
lines changed

content.js

Lines changed: 78 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,89 @@
1+
window.onload = function () {
2+
const hljsbtn = document.createElement("button");
3+
hljsbtn.innerHTML = "点击";
4+
hljsbtn.type = "button";
5+
hljsbtn.backgroundColor = "red";
6+
hljsbtn.style.height = "20px";
7+
hljsbtn.style.width = "40px";
8+
// hljsbtn.style.position = 'fixed';
9+
// hljsbtn.style.top = '100px';
10+
// hljsbtn.style.left = '10';
111

2-
window.onload = function(){
3-
12+
hljsbtn.addEventListener("click", () => {
13+
const memos = document.getElementsByClassName("richText");
14+
const memos_array = Array.from(memos);
15+
console.log(memos_array.length);
16+
memos_array.forEach((memo) => {
17+
const memo_p = memo.getElementsByTagName("p");
18+
const memo_p_array = Array.from(memo_p);
419

5-
const hljsbtn = document.createElement('button');
6-
hljsbtn.innerHTML = '点击';
7-
hljsbtn.type = "button";
8-
hljsbtn.backgroundColor = 'red';
9-
hljsbtn.style.height = '20px';
10-
hljsbtn.style.width = '40px';
11-
// hljsbtn.style.position = 'fixed';
12-
// hljsbtn.style.top = '100px';
13-
// hljsbtn.style.left = '10';
20+
const newRichText = document.createElement("div");
21+
let languageFlag = false;
1422

15-
hljsbtn.addEventListener('click', ()=>{
23+
let codeArr = [];
24+
let languageType = "";
25+
for (let i = 0; i < memo_p_array.length; i++) {
26+
if (
27+
memo_p_array[i].innerHTML.startsWith("```") &&
28+
memo_p_array[i].innerHTML.substring(3) != ""
29+
) {
30+
languageFlag = true;
31+
let language = memo_p_array[i].innerHTML.substring(3);
32+
languageType = "language-" + language;
33+
continue;
34+
} else if (
35+
memo_p_array[i].innerHTML.startsWith("```") &&
36+
memo_p_array[i].innerHTML.substring(3) === ""
37+
) {
38+
languageFlag = false;
1639

17-
const memos = document.getElementsByClassName('richText');
18-
const memos_array = Array.from(memos);
19-
console.log(memos_array.length);
20-
memos_array.forEach((memo)=>{
21-
22-
const memo_p = memo.getElementsByTagName('p');
23-
const memo_p_array = Array.from(memo_p);
40+
let pre = document.createElement("pre");
41+
let code = document.createElement("code");
42+
code.innerHTML = codeArr.join("\n");
43+
code.className = languageType;
44+
pre.appendChild(code);
45+
newRichText.appendChild(pre);
46+
//清空数组
47+
codeArr = [];
48+
languageType = "";
49+
continue;
50+
}
2451

25-
const newRichText = document.createElement('div');
26-
let languageFlag = false;
27-
28-
let codeArr = [];
29-
let languageType = '';
30-
for (let i = 0; i < memo_p_array.length; i++){
31-
if (memo_p_array[i].innerHTML.startsWith('```') && memo_p_array[i].innerHTML.substring(3) != ''){
32-
languageFlag = true;
33-
let language = memo_p_array[i].innerHTML.substring(3);
34-
languageType = "language-"+language;
35-
continue;
36-
}else if (memo_p_array[i].innerHTML.startsWith('```') && memo_p_array[i].innerHTML.substring(3) === ''){
37-
languageFlag = false;
38-
39-
let pre = document.createElement('pre');
40-
let code = document.createElement('code');
41-
code.innerHTML = codeArr.join('\n');
42-
code.className = languageType;
43-
pre.appendChild(code);
44-
newRichText.appendChild(pre);
45-
//清空数组
46-
codeArr = [];
47-
languageType = '';
48-
continue;
49-
}
50-
51-
if (languageFlag){
52-
// code.innerHTML = code.innerHTML + memo_p_array[i].innerHTML;
53-
codeArr.push(memo_p_array[i].innerHTML);
54-
}else{
55-
let newP = document.createElement('p');
56-
newP.innerHTML = memo_p_array[i].innerHTML;
57-
newRichText.appendChild(newP);
58-
}
52+
if (languageFlag) {
53+
// code.innerHTML = code.innerHTML + memo_p_array[i].innerHTML;
54+
codeArr.push(memo_p_array[i].innerHTML);
55+
} else {
56+
let newP = document.createElement("p");
57+
newP.innerHTML = memo_p_array[i].innerHTML;
58+
newRichText.appendChild(newP);
5959
}
60-
memo.innerHTML = newRichText.innerHTML;
60+
}
61+
memo.innerHTML = newRichText.innerHTML;
6162
});
6263
hljs.highlightAll();
63-
});
64-
64+
});
6565

66-
document.body.appendChild(hljsbtn);
66+
// document.body.appendChild(hljsbtn);
6767

68-
// const el_container = document.getElementsByClassName('el-container').contentWindow;
69-
const memos = document.getElementsByClassName("memos")[0];
70-
memos.appendChild(hljsbtn);
71-
// const sidebar_li = document.createElement('li');
72-
// sidebar_li.innerHTML = 'hljs';
73-
// sidebar.appendChild(sidebar_li)
68+
const memos = document.getElementsByClassName("memos")[0];
69+
memos.appendChild(hljsbtn);
7470

75-
76-
// hljs.highlightAll();
77-
};
71+
const send = document.createElement("button");
72+
send.innerHTML = "发送";
73+
send.type = "button";
74+
send.style.height = "20px";
75+
send.style.width = "40px";
76+
send.addEventListener("click", () => {
77+
chrome.runtime.sendMessage("get-user-data", (response) => {
78+
// alert(response.username);
79+
// console.error(response.username);
80+
initializeUI(response);
81+
});
82+
});
83+
memos.appendChild(send);
84+
// chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
85+
// if (message === "refresh") {
86+
// sendResponse("123ffff");
87+
// }
88+
// });
89+
};

manifest.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,17 @@
33
"version": "1.0",
44
"manifest_version": 3,
55
"description": "This is my first Chrome extension!",
6+
"permissions": [
7+
"nativeMessaging"
8+
],
69
"content_scripts": [
710
{
811
"matches": ["https://v.flomoapp.com/*"],
912
"js": ["content.js","highlight.min.js"],
1013
"css": ["highlight.min.css"]
1114
}
12-
]
15+
],
16+
"background": {
17+
"service_worker": "service-worker.js"
18+
}
1319
}

service-worker.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// Example of a simple user data object
2+
const user = {
3+
username: "demo-user",
4+
};
5+
6+
chrome.runtime.onMessage.addListener(async (message, sender, sendResponse) => {
7+
// 2. A page requested user data, respond with a copy of `user`
8+
console.log(message);
9+
refresh();
10+
if (message === "get-user-data") {
11+
sendResponse(user);
12+
}
13+
});
14+
15+
// // 异步执行,每5s发消息
16+
// setInterval(() => {
17+
// chrome.runtime.sendMessage("refresh", (response) => {
18+
// // alert(response.username);
19+
// console.log(response.username);
20+
// // initializeUI(response);
21+
// });
22+
// }, 5000);
23+
24+
25+
async function refresh(){
26+
console.log("refresh");
27+
let count = 1;
28+
setTimeout(() => {
29+
console.log(count++);
30+
// chrome.runtime.sendMessage("refresh", (response) => {
31+
// // alert(response.username);
32+
// // console.log(response);
33+
// // initializeUI(response);
34+
// });
35+
}, 1000);
36+
}
37+

0 commit comments

Comments
 (0)