@@ -14,7 +14,13 @@ window.POG=(function() {
1414 var value = node . getAttribute ( name ) ;
1515
1616 if ( value ) {
17- var selector = node . nodeName . toLowerCase ( ) + '[' + name + '=\'' + value + '\']' ;
17+ var selector = node . nodeName . toLowerCase ( ) ;
18+ if ( name === 'class' ) {
19+ selector += '.' + value . split ( / \s + / g) . join ( '.' ) ;
20+ }
21+ else {
22+ selector += '[' + name + '=\'' + value + '\']' ;
23+ }
1824 if ( document . querySelectorAll ( selector ) . length === 1 ) {
1925 response = selector ;
2026 }
@@ -373,7 +379,7 @@ window.POG=(function() {
373379 var clonedNode = clonedParentNode . querySelector (
374380 node . nodeName . toLowerCase ( ) ) ;
375381 clonedNode . parentNode . removeChild ( clonedNode ) ;
376- sanitizeNode ( clonedParentNode , parentNode ) ;
382+ clonedParentNode = sanitizeNode ( clonedParentNode , parentNode ) ;
377383
378384 text = clonedParentNode . textContent || clonedParentNode . innerText || '' ;
379385 text = getSentences ( text . trim ( ) ) [ 0 ] || '' ;
@@ -390,12 +396,12 @@ window.POG=(function() {
390396 function getPageVisibleHTML ( original ) {
391397 original = original || document . body ;
392398 var cloned = original . cloneNode ( true ) ;
393- sanitizeNode ( cloned , original ) ;
399+ cloned = sanitizeNode ( cloned , original ) ;
394400 return cloned . outerHTML ;
395401 }
396402
397403 function getSanitizedText ( text , max ) {
398- var texts = text . split ( / \s + / g) ;
404+ var texts = ( text || '' ) . split ( / \s + / g) ;
399405
400406 if ( max ) {
401407 texts = texts . slice ( 0 , max ) ;
@@ -523,7 +529,14 @@ window.POG=(function() {
523529 var hiddens = getHiddens ( clonedNode , originalNode ) ;
524530 removeNodes ( comments ) ;
525531 removeNodes ( excludes ) ;
532+ var excludedNode = clonedNode . cloneNode ( true ) ;
526533 removeNodes ( hiddens ) ;
534+ // ng:view template doesn't have height,
535+ // hence it will considered as hidden
536+ if ( clonedNode . textContent . trim ( ) === '' ) {
537+ clonedNode = excludedNode ;
538+ }
539+ return clonedNode ;
527540 }
528541
529542 function setDefinitions ( input ) {
@@ -835,7 +848,7 @@ window.POG=(function() {
835848 var sentences = getSentences ( sourceText ) ;
836849 var words = getWordFrequency ( sourceText ) ;
837850 sentences = getSentenceFrequency ( sentences , words ) ;
838- var sentence = sentences [ 0 ] ;
851+ var sentence = sentences [ 0 ] || '' ;
839852
840853 // !robot
841854 if ( input . attributes . letter !== LETTERS . LOWER && input . attributes . indent !== 1 &&
@@ -862,7 +875,7 @@ window.POG=(function() {
862875
863876 if ( input . operations . extras [ 'verify.url' ] ) {
864877 // it's better to generate more information than less
865- var uri = document . location . href . replace ( document . location . origin , '' ) ;
878+ var uri = location . href . replace ( document . location . origin , '' ) ;
866879
867880 var buffer = {
868881 attribute : {
0 commit comments