- var fragment, dest, scripts;
- for (var i=0 ; i < fragments.length ; i++) {
- fragment = fragments[i];
- if (fragment.nodeName == 'fragment') {
- dest = document.getElementById(fragment.getAttribute('id'));
- if(!dest)
- continue;
- dest.innerHTML = fragment.firstChild.nodeValue;
-
- scripts = dest.getElementsByTagName('script');
- for (var j=0 ; j < scripts.length ; j++)
- globalScriptRegistry.loadScript(scripts[j]);
+ var element, dest, scripts, i, j;
+ for (i=0 ; i < fragments.length ; i++) {
+ element = fragments[i];
+ switch (element.nodeName) {
+ case 'fragment' :
+ dest = document.getElementById(element.getAttribute('id'));
+ if(dest) {
+ dest.innerHTML = element.firstChild.nodeValue;
+ scripts = dest.getElementsByTagName('script');
+ for (j=0 ; j < scripts.length ; j++) {
+ globalScriptRegistry.loadScript(scripts[j]); }
+ }
+ break;
+ case 'base' :
+ var headBase = document.getElementsByTagName('base');
+ if (headBase.length > 0) {
+ headBase[0].setAttribute('href', element.getAttribute('href'));
+ }
+ else {
+ headBase = document.createElement('base');
+ headBase.setAttribute('href', element.getAttribute('href'));
+ document.head.appendChild(headBase);
+ }
+ break;