[views] #1499661 get rid of base tag
authorAdrien Di Mascio <Adrien.DiMascio@logilab.fr>
Thu, 10 Mar 2011 12:03:37 +0100
changeset 7069 8bf2337a6f3b
parent 7068 90ddf608fe2b
child 7070 5f8e52d722c5
[views] #1499661 get rid of base tag
web/data/cubicweb.htmlhelpers.js
web/views/basetemplates.py
--- a/web/data/cubicweb.htmlhelpers.js	Thu Mar 10 11:58:57 2011 +0100
+++ b/web/data/cubicweb.htmlhelpers.js	Thu Mar 10 12:03:37 2011 +0100
@@ -16,11 +16,15 @@
  * available and inspects the <base> tag manually otherwise.)
  */
 function baseuri() {
-    var uri = document.baseURI;
-    if (uri) { // some browsers don't define baseURI
-        return uri.toLowerCase();
+    if (typeof BASE_URL === 'undefined') {
+        // backward compatibility, BASE_URL might be undefined
+        var uri = document.baseURI;
+        if (uri) { // some browsers don't define baseURI
+            return uri.toLowerCase();
+        }
+        return jQuery('base').attr('href').toLowerCase();
     }
-    return jQuery('base').attr('href').toLowerCase();
+    return BASE_URL;
 }
 
 /**
--- a/web/views/basetemplates.py	Thu Mar 10 11:58:57 2011 +0100
+++ b/web/views/basetemplates.py	Thu Mar 10 12:03:37 2011 +0100
@@ -156,7 +156,7 @@
         lang = self._cw.lang
         self.write_doctype()
         # explictly close the <base> tag to avoid IE 6 bugs while browsing DOM
-        w(u'<base href="%s"></base>' % xml_escape(self._cw.base_url()))
+        self._cw.html_headers.define_var('BASE_URL', self._cw.base_url())
         w(u'<meta http-equiv="content-type" content="%s; charset=%s"/>\n'
           % (content_type, self._cw.encoding))
         w(u'\n'.join(additional_headers) + u'\n')