Remove hasTip javascript code from Joomla
Asked Answered
B

4

6

Joomla 2.5 adds this code:

 window.addEvent('domready', function() {
            $$('.hasTip').each(function(el) {
                var title = el.get('title');
                if (title) {
                    var parts = title.split('::', 2);
                    el.store('tip:title', parts[0]);
                    el.store('tip:text', parts[1]);
                }
            });
            var JTooltips = new Tips($$('.hasTip'), { maxTitleChars: 50, fixed: false});
        });

Now - I know I can edit the html behavior file:

libraries/joomla/html/html/behavior.php to comment it out - but this isn't the best solution.

Have tried but neither work: 1. http://flexicontent.org/forum/index.php?f=23&t=4909&rb_v=viewtopic 2. http://www.jsnippets.net/snippets/php/remove-call-to-jtooltips

Bucaramanga answered 8/10, 2012 at 19:39 Comment(7)
What's the problem with commenting out the code ?Baddie
@alfasin - because editing core files shouldn't be done ;)Pericardium
@Pericardium this is not the bible you know... :)Baddie
@alfasin - haha, well it still stands to reason. Editing core Joomla might corrupt other functions, cause security issues and might get overridden in a Joomla update ;)Pericardium
@Pericardium of course that you're right! even though I wouldn't expect anything to be corrupted because of UI change - I've seen it happen before.Baddie
For curiosity: Why is the script bothering you? If it's not used then it wouldn't be any problem.Ahlers
because I have removed mootools from Joomla Template - and it calls an error.Bucaramanga
G
3

this is the Line you have to comment out:

 var JTooltips = new Tips($$('.hasTip'), { maxTitleChars: 50....

Joomla 2.5 /libraries/joomla/html/*/behavior.php Line xxx comment it out

Joomla 3.x /libraries/cms/html/behavior.php Line 287 comment it out

Guarantee answered 29/10, 2014 at 12:1 Comment(0)
F
1

This is not the exactly what you need.But if you just want to hide the tooltip, you can set the display property to none-

.tip-wrap {
display: none !important;
}
Fulvous answered 9/10, 2012 at 8:41 Comment(0)
S
1
$doc->_script = preg_replace('window\.addEvent\(\'domready\',\s*function\(\)\s*{\s*\$\$\(\'.hasTip\'\).each\(function\(el\)\s*{\s*var\s*title\s*=\s*el.get\(\'title\'\);\s*if\s*\(title\)\s*{\s*var\s*parts\s*=\s*title.split\(\'::\',\s*2\);\s*el.store\(\'tip:title\',\s*parts\[0\]\);\s*el.store\(\'tip:text\',\s*parts\[1\]\);\s*}\s*}\);\s*var\s*JTooltips\s*=\s*new\s*Tips\(\$\$\(\'.hasTip\'\),\s*{\s*maxTitleChars:\s*50,\s*fixed:\s*false}\);\s*}\);', '', $doc->_script);
Siouan answered 31/8, 2013 at 18:25 Comment(0)
B
0

If you use a template only approach to removing javascript - some components still force the addition of code.

So - far the only reliable solution I have found is utilizing a plugin to block js - JSS - CSS control: http://extensions.joomla.org/extensions/extension/core-enhancements/performance/js-css-control

Bucaramanga answered 2/3, 2015 at 11:12 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.