@@ -149,19 +149,17 @@ protected function getDumpHeader()
149
149
<script>
150
150
Sfdump = window.Sfdump || (function (doc) {
151
151
152
- var refStyle = doc.createElement('style'),
153
- rxEsc = /([.*+?^${}()|\[\]\/\\])/g,
152
+ if (doc.body instanceof HTMLElement) {
153
+ doc.body.classList.add('sf-js-enabled');
154
+ }
155
+
156
+ var rxEsc = /([.*+?^${}()|\[\]\/\\])/g,
154
157
idRx = /\bsf-dump-\d+-ref[012]\w+\b/,
155
158
keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl',
156
159
addEventL
8000
istener = function (e, n, cb) {
157
160
e.addEventListener(n, cb, false);
158
161
};
159
162
160
- refStyle.innerHTML = 'pre.sf-dump .sf-dump-compact, .sf-dump-str-collapse .sf-dump-str-collapse, .sf-dump-str-expand .sf-dump-str-expand { display: none; }';
161
- doc.head.appendChild(refStyle);
162
- refStyle = doc.createElement('style');
163
- doc.head.appendChild(refStyle);
164
-
165
163
if (!doc.addEventListener) {
166
164
addEventListener = function (element, eventName, callback) {
167
165
element.attachEvent('on' + eventName, function (e) {
@@ -341,19 +339,9 @@ function xpathString(str) {
341
339
function xpathHasClass(className) {
342
340
return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')";
343
341
}
344
- addEventListener(root, 'mouseover', function (e) {
345
- if ('' != refStyle.innerHTML) {
346
- refStyle.innerHTML = '';
347
- }
348
- });
349
342
a('mouseover', function (a, e, c) {
350
343
if (c) {
351
344
e.target.style.cursor = "pointer";
352
- } else if (a = idRx.exec(a.className)) {
353
- try {
354
- refStyle.innerHTML = 'pre.sf-dump .'+a[0]+'{background-color: #B729D9; color: #FFF !important; border-radius: 2px}';
355
- } catch (e) {
356
- }
357
345
}
358
346
});
359
347
a('click', function (a, e, c) {
@@ -422,6 +410,7 @@ function xpathHasClass(className) {
422
410
}
423
411
} else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) {
424
412
a = a.slice(1);
413
+ elt.className += ' sf-dump-hover';
425
414
elt.className += ' '+a;
426
415
427
416
if (/[\[{]$/.test(elt.previousSibling.nodeValue)) {
@@ -638,6 +627,16 @@ function showCurrent(state)
638
627
639
628
})(document);
640
629
</script><style>
630
+ .sf-js-enabled pre.sf-dump .sf-dump-compact,
631
+ .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse,
632
+ .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand {
633
+ display: none;
634
+ }
635
+ .sf-dump-hover:hover {
636
+ background-color: #B729D9;
637
+ color: #FFF !important;
638
+ border-radius: 2px;
639
+ }
641
640
pre.sf-dump {
642
641
display: block;
643
642
white-space: pre;
0 commit comments