diff options
Diffstat (limited to 'debug_toolbar')
| -rw-r--r-- | debug_toolbar/middleware.py | 14 | 
1 files changed, 11 insertions, 3 deletions
diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index bb8dbbc..c17c424 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -12,7 +12,16 @@ _HTML_TYPES = ('text/html', 'application/xhtml+xml')  _END_HEAD_RE = re.compile(r'</head>', re.IGNORECASE)  _START_BODY_RE = re.compile(r'<body([^<]*)>', re.IGNORECASE)  _END_BODY_RE = re.compile(r'</body>', re.IGNORECASE) -_CONTAINS_JQUERY_RE = re.compile("src=(?:(\"(.*?)jquery(.*?)\.js\")|('(.*?)jquery(.*?)\.js'))", re.IGNORECASE) + + +_JQUERY_OPTIONAL = """ +<script type="text/javascript"> +if (typeof jQuery == "undefined")   { +    url = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' +    document.write(unescape("%3Cscript src='" + url + "' type='text/javascript'%3E%3C/script%3E")); +} +</script> +"""  class DebugToolbarMiddleware(object):      """ @@ -58,7 +67,6 @@ class DebugToolbarMiddleware(object):                  # Saving this here in case we ever need to inject into <head>                  #response.content = _END_HEAD_RE.sub(smart_str(self.debug_toolbar.render_styles() + "%s" % match.group()), response.content)                  response.content = _START_BODY_RE.sub(smart_str('<body\\1>' + self.debug_toolbar.render_toolbar()), response.content) -                if not _CONTAINS_JQUERY_RE.search(response.content): -                    response.content = _END_BODY_RE.sub(smart_str('<script src="%s/__debug__/m/jquery.js" type="text/javascript" charset="utf-8"></script></body>' % script_loc), response.content) +                response.content = _END_BODY_RE.sub(smart_str('%s</body>' % _JQUERY_OPTIONAL), response.content)                  response.content = _END_BODY_RE.sub(smart_str('<script src="%s/__debug__/m/toolbar.js" type="text/javascript" charset="utf-8"></script></body>' % script_loc), response.content)          return response  | 
