html.parser.analyzer: Add javascript links. Clean up some code.

db4
Doug Coleman 2013-12-07 11:41:36 -08:00
parent 288ebd6c88
commit 7fb1fc97ec
1 changed files with 9 additions and 7 deletions

View File

@ -156,17 +156,19 @@ ERROR: undefined-find-nth m n seq quot ;
"href" attribute* [ subseq? ] [ 2drop f ] if ; "href" attribute* [ subseq? ] [ 2drop f ] if ;
: find-hrefs ( vector -- vector' ) : find-hrefs ( vector -- vector' )
find-links [ { [ name>> "a" = ] [ "href" attribute? ] } 1&& ] filter sift
[ [ { [ name>> "a" = ] [ "href" attribute? ] } 1&& ] filter ] map sift [ "href" attribute >url ] map ;
[ [ "href" attribute ] map ] map concat [ >url ] map ;
: find-frame-links ( vector -- vector' ) : find-frame-links ( vector -- vector' )
[ name>> "frame" = ] find-between-all [ { [ name>> "frame" = ] [ "src" attribute? ] } 1&& ] filter sift
[ [ "src" attribute ] map sift ] map concat sift [ "src" attribute >url ] map ;
[ >url ] map ;
: find-script-links ( vector -- vector' )
[ { [ name>> "script" = ] [ "src" attribute? ] } 1&& ] filter sift
[ "src" attribute >url ] map ;
: find-all-links ( vector -- vector' ) : find-all-links ( vector -- vector' )
[ find-hrefs ] [ find-frame-links ] bi union ; [ find-hrefs ] [ find-frame-links ] [ find-script-links ] tri union union ;
: find-forms ( vector -- vector' ) : find-forms ( vector -- vector' )
"form" over find-opening-tags-by-name "form" over find-opening-tags-by-name