[KSS-checkins] r50798 - kukit/kukit.js/trunk/kukit
gotcha at codespeak.net
gotcha at codespeak.net
Sun Jan 20 14:51:00 CET 2008
Author: gotcha
Date: Sun Jan 20 14:50:59 2008
New Revision: 50798
Modified:
kukit/kukit.js/trunk/kukit/kukit.js
kukit/kukit.js/trunk/kukit/serveraction.js
Log:
fix base URL calculation to fix bug found via Grok integration by Jeff
Modified: kukit/kukit.js/trunk/kukit/kukit.js
==============================================================================
--- kukit/kukit.js/trunk/kukit/kukit.js (original)
+++ kukit/kukit.js/trunk/kukit/kukit.js Sun Jan 20 14:50:59 2008
@@ -79,6 +79,7 @@
this.calculateBase = function() {
var base = '';
+ // returns empty base when not in browser (cli tests)
try {
var _dummy = document;
_dummy = window;
@@ -86,29 +87,32 @@
// testing or what
return base;
}
+ // fetch base from specific link in case of ill situations
+ // like default pages in Plone
var nodes = document.getElementsByTagName("link");
if (nodes.length > 0) {
for (var i=0; i<nodes.length; i++) {
var link = nodes[i];
if (link.rel == 'kss-base-url') {
- return link.href;
+ var base = link.href;
}
}
}
- nodes = document.getElementsByTagName("base");
- if (nodes.length === 0) {
- base = window.location.href;
- var pieces = base.split('/');
- pieces.pop();
- base = pieces.join('/');
- } else {
- base = nodes[0].href;
- // take off trailing slash
- var baselen = base.length;
- if (baselen > 0 && base.substring(baselen - 1) == '/') {
- base = base.substring(0, baselen - 1);
+ // if no override, fetch as usual first from base tag
+ // then from page url if no base tag
+ if (!base) {
+ nodes = document.getElementsByTagName("base");
+ if (nodes.length != 0) {
+ var base = nodes[0].href;
+ } else {
+ var base = window.location.href;
}
}
+ // remove last piece until '/'
+ var pieces = base.split('/');
+ pieces.pop();
+ // base url needs a trailing '/'
+ base = pieces.join('/') + '/';
return base;
};
Modified: kukit/kukit.js/trunk/kukit/serveraction.js
==============================================================================
--- kukit/kukit.js/trunk/kukit/serveraction.js (original)
+++ kukit/kukit.js/trunk/kukit/serveraction.js Sun Jan 20 14:50:59 2008
@@ -48,7 +48,7 @@
if (url.match(RegExp('/^https?:\/\//'))) {
return url;
} else {
- var result = kukit.engine.baseUrl + '/' + url;
+ var result = kukit.engine.baseUrl + url;
return result;
}
};
More information about the Kukit-checkins
mailing list