@@ -14,7 +14,13 @@ window.POG=(function() {
14
14
var value = node . getAttribute ( name ) ;
15
15
16
16
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
+ }
18
24
if ( document . querySelectorAll ( selector ) . length === 1 ) {
19
25
response = selector ;
20
26
}
@@ -373,7 +379,7 @@ window.POG=(function() {
373
379
var clonedNode = clonedParentNode . querySelector (
374
380
node . nodeName . toLowerCase ( ) ) ;
375
381
clonedNode . parentNode . removeChild ( clonedNode ) ;
376
- sanitizeNode ( clonedParentNode , parentNode ) ;
382
+ clonedParentNode = sanitizeNode ( clonedParentNode , parentNode ) ;
377
383
378
384
text = clonedParentNode . textContent || clonedParentNode . innerText || '' ;
379
385
text = getSentences ( text . trim ( ) ) [ 0 ] || '' ;
@@ -390,12 +396,12 @@ window.POG=(function() {
390
396
function getPageVisibleHTML ( original ) {
391
397
original = original || document . body ;
392
398
var cloned = original . cloneNode ( true ) ;
393
- sanitizeNode ( cloned , original ) ;
399
+ cloned = sanitizeNode ( cloned , original ) ;
394
400
return cloned . outerHTML ;
395
401
}
396
402
397
403
function getSanitizedText ( text , max ) {
398
- var texts = text . split ( / \s + / g) ;
404
+ var texts = ( text || '' ) . split ( / \s + / g) ;
399
405
400
406
if ( max ) {
401
407
texts = texts . slice ( 0 , max ) ;
@@ -523,7 +529,14 @@ window.POG=(function() {
523
529
var hiddens = getHiddens ( clonedNode , originalNode ) ;
524
530
removeNodes ( comments ) ;
525
531
removeNodes ( excludes ) ;
532
+ var excludedNode = clonedNode . cloneNode ( true ) ;
526
533
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 ;
527
540
}
528
541
529
542
function setDefinitions ( input ) {
@@ -835,7 +848,7 @@ window.POG=(function() {
835
848
var sentences = getSentences ( sourceText ) ;
836
849
var words = getWordFrequency ( sourceText ) ;
837
850
sentences = getSentenceFrequency ( sentences , words ) ;
838
- var sentence = sentences [ 0 ] ;
851
+ var sentence = sentences [ 0 ] || '' ;
839
852
840
853
// !robot
841
854
if ( input . attributes . letter !== LETTERS . LOWER && input . attributes . indent !== 1 &&
@@ -862,7 +875,7 @@ window.POG=(function() {
862
875
863
876
if ( input . operations . extras [ 'verify.url' ] ) {
864
877
// 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 , '' ) ;
866
879
867
880
var buffer = {
868
881
attribute : {
0 commit comments