blob: 63ae4c357481c8256545feb0a8a0c1652517a8cb [file] [log] [blame]
library utilities;
import "dart:html";
// Start the bidding at 42 for no particular reason.
var lastID = 42;
String canonicalize(String url) {
var id = ++lastID;
document.body.appendHtml("<a id='$id' href='$url'></a>");
Element elem = document.getElementById(id.toString());
String res = (elem as AnchorElement).href;
// print("'$url'=>'$res'");
return res;
}
void setBaseURL(url) {
// Remove any existing base elements.
var existingBase = document.getElementsByTagName('base');
while (existingBase.length) {
var element = existingBase[0];
element.remove();
}
// Add a new base element.
document.body.appendHtml('<base href="$url">');
}
List segments(String url) {
var id = ++lastID;
String idstr=id.toString();
document.body.appendHtml("<a id='$idstr' href='$url'></a>");
var elmt = document.getElementById(idstr);
return [
elmt.protocol,
elmt.hostname,
elmt.port,
elmt.pathname,
elmt.search,
elmt.hash
];
}