Skip to content

Commit 55bd396

Browse files
committed
add several meanings result
1 parent 50ad68b commit 55bd396

File tree

2 files changed

+33
-12
lines changed

2 files changed

+33
-12
lines changed

background/background.js

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,24 @@ function extractMeaning (document, context) {
3333
if (!document.querySelector("[data-dobid='hdw']")) { return null; }
3434

3535
var word = document.querySelector("[data-dobid='hdw']").textContent,
36-
definitionDiv = document.querySelector("div[data-dobid='dfn']"),
37-
meaning = "";
38-
39-
if (definitionDiv) {
40-
definitionDiv.querySelectorAll("span").forEach(function(span){
41-
if(!span.querySelector("sup"))
42-
meaning = meaning + span.textContent;
43-
});
36+
definitionDivNodeList = document.querySelectorAll("div[data-dobid='dfn']"),
37+
meaningArray = [];
38+
39+
if(definitionDivNodeList) {
40+
definitionDivNodeList.forEach((definitionDiv) => {
41+
if (definitionDiv) {
42+
definitionDiv.querySelectorAll("span").forEach( function(span) {
43+
if(!span.querySelector("sup")) {
44+
meaningArray.push(span.textContent);
45+
}
46+
});
47+
}
48+
});
49+
}
50+
51+
for(var i = 0; i < meaningArray.length; i++) {
52+
meaningArray[i] = meaningArray[i][0].toUpperCase() + meaningArray[i].substring(1);
4453
}
45-
46-
meaning = meaning[0].toUpperCase() + meaning.substring(1);
4754

4855
var audio = document.querySelector("audio[jsname='QInZvb']"),
4956
source = document.querySelector("audio[jsname='QInZvb'] source"),
@@ -67,7 +74,7 @@ function extractMeaning (document, context) {
6774
audioSrc = `${GOOGLE_SPEECH_URI}?${queryString}`;
6875
}
6976

70-
return { word: word, meaning: meaning, audioSrc: audioSrc };
77+
return { word: word, meaningArray: meaningArray, audioSrc: audioSrc };
7178
};
7279

7380
function saveWord (content) {

content_scripts/dictionary.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,13 +148,27 @@
148148
return oRect;
149149
}
150150

151+
function meaningArrayToParagraphList(meaningArray) {
152+
var meaningList = document.createElement("ul");
153+
meaningList.style = "margin-top: 0px; margin-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px;";
154+
meaningArray.forEach(function(meaning) {
155+
var meaningItem = document.createElement("li");
156+
meaningItem.style = "margin-block-start: 0px; margin-block-end: 0px; display: list-item;";
157+
meaningItem.textContent = meaning;
158+
meaningList.appendChild(meaningItem);
159+
});
160+
return meaningList;
161+
}
162+
163+
151164
function appendToDiv(createdDiv, content){
152165
var hostDiv = createdDiv.heading.getRootNode().host;
153166
var popupDiv = createdDiv.heading.getRootNode().querySelectorAll("div")[1];
154167

155168
var heightBefore = popupDiv.clientHeight;
156169
createdDiv.heading.textContent = content.word;
157-
createdDiv.meaning.textContent = content.meaning;
170+
createdDiv.meaning.textContent = "";
171+
createdDiv.meaning.appendChild(meaningArrayToParagraphList(content.meaningArray));
158172
createdDiv.moreInfo.textContent = "More »";
159173

160174
var heightAfter = popupDiv.clientHeight;

0 commit comments

Comments
 (0)