@@ -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
7380function saveWord ( content ) {
0 commit comments