1 <div id="webprofiler{{ token }}" class="sf-toolbar" style="display: none"></div>
4 Webprofiler = (function () {
7 var key = 'webprofiler/profiler/',
9 getPreference = function (name) {
10 if (!window.localStorage) {
14 return localStorage.getItem(key + name);
17 setPreference = function (name, value) {
18 if (!window.localStorage) {
22 localStorage.setItem(key + name, value);
27 ajax('{{ profiler_url }}', function (result) {
28 var toolbar = document.getElementById('webprofiler{{ token }}');
29 toolbar.innerHTML = result;
30 toolbar.style.display = 'block';
32 if (getPreference('toolbar/displayState') == 'none') {
33 document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'none';
34 document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'none';
35 document.getElementById('sfMiniToolbar-{{ token }}').style.display = 'block';
37 document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'block';
38 document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'block';
39 document.getElementById('sfMiniToolbar-{{ token }}').style.display = 'none';
42 var arr = toolbar.getElementsByTagName('script');
43 for (var n = 0; n < arr.length; n++) {
44 eval(arr[n].innerHTML);
49 ajax = function (url, callback, data) {
51 var x = new (XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0');
52 x.open(data ? 'POST' : 'GET', url, 1);
53 x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
54 x.setRequestHeader('Content-type', 'application/json');
55 x.onreadystatechange = function () {
56 x.readyState > 3 && x.status === 200 && callback && callback(x.responseText, x);
60 window.console && console.log(e);
65 getPreference: getPreference,
66 setPreference: setPreference,