Fix fragments being AbsUrlified in final html

Found that fragments were getting the BaseURL applied creating a proper
anchor url and redirecting off the page.
This commit is contained in:
Noah Campbell
2013-09-18 15:48:36 -07:00
parent 311e102223
commit 784077da4d
2 changed files with 25 additions and 5 deletions

View File

@@ -39,6 +39,9 @@ func (t *Transformer) absUrlify(tr *htmltran.Transformer, selectors ...elattr) (
if inURL, err = url.Parse(in); err != nil {
return in + "?"
}
if fragmentOnly(inURL) {
return in
}
return baseURL.ResolveReference(inURL).String()
}
@@ -50,3 +53,7 @@ func (t *Transformer) absUrlify(tr *htmltran.Transformer, selectors ...elattr) (
return
}
func fragmentOnly(u *url.URL) bool {
return u.Fragment != "" && u.Scheme == "" && u.Opaque == "" && u.User == nil && u.Host == "" && u.Path == "" && u.Path == "" && u.RawQuery == ""
}