Loctite Website issues, https://www.loctiteproducts.com/

For support with specific websites

Moderator: trava90

Forum rules
Please always mention the name/domain of the website in question in your topic title.
Please one website per topic thread (to help keep things organized). While behavior on different sites might at first glance seem similar, they are not necessarily caused by the same.

Please try to include any relevant output from the Toolkit Error Console or the Developer Tools Web Console using the following procedure:
  1. Clear any current output
  2. Navigate or refresh the page in question
  3. Copy and paste Errors or seemingly relevant Warnings into a single [ code ] block.
User avatar
Hugo Oberstein
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: 2024-11-21, 01:40

Loctite Website issues, https://www.loctiteproducts.com/

Post by Hugo Oberstein » 2026-07-17, 21:43

Hello, When going to the Loctite website, most everything is overlapping and a message appears about cookies that does not seem to have a close "X" to click.

Loctite Homepage
https://www.loctiteproducts.com/

Name Pale Moon
Version 34.3.1 (32-bit)
Build ID 20260622183104
Update History
Update Channel release
User Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:128.0) Gecko/20100101 Goanna/6.9 Firefox/128.0 PaleMoon/34.3.1
OS Windows_NT 6.1
CPU Capabilities SSE2 AVX

Web Console Error

Code: Select all

Deferring initialisation of Component because factory cannot find a class for "Notifications"  
vendors.lc-b3250cea47b5789f3fea2fcb9c5c878b-lc.min.js:24:409
TypeError: e.checkVisibility is not a function[Learn More]  
treeshaking.lc-1437d1fcfd63fb1eb9fbf1ac37c340fc-lc.min.js:2:16675
Ignoring unsupported entryTypes: largest-contentful-paint.  
main.MTA2MWE1OWMwMQ.js:1:121373
TypeError: e.checkVisibility is not a function[Learn More]  
treeshaking.lc-1437d1fcfd63fb1eb9fbf1ac37c340fc-lc.min.js:2:16675
IMc->feedback->isValidPage=false  
extra.js:26:9
IMc->feedback-> GW_RS3TTM isValidPage=true  
extra.js:87:9

Browser Console Error

Code: Select all

Key event not available on some keyboard layouts: key=“i” modifiers=“accel,alt,shift” id=“key_browserToolbox”  
browser.xul
"TabSources.prototype._fetchSourceMap threw an exception: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Stack: SourceMapConsumer@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/sourcemap/source-map.js:1281:25
_fetchSourceMap/fetching<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/utils/TabSources.js:472:19
process@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/Promise-backend.js:931:38
walkerLoop@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/Promise-backend.js:812:29
scheduleWalkerLoop/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/Promise-backend.js:746:14
Line: 1281, column: 25" 
ThreadSafeDevToolsUtils.js:80
Deferring initialisation of Component because factory cannot find a class for "Notifications"  
vendors.lc-b3250cea47b5789f3fea2fcb9c5c878b-lc.min.js:24:409
TypeError: e.checkVisibility is not a function[Learn More]  
treeshaking.lc-1437d1fcfd63fb1eb9fbf1ac37c340fc-lc.min.js:2:16675
Ignoring unsupported entryTypes: largest-contentful-paint.  
main.MTA2MWE1OWMwMQ.js:1:121373
TypeError: e.checkVisibility is not a function[Learn More]  
treeshaking.lc-1437d1fcfd63fb1eb9fbf1ac37c340fc-lc.min.js:2:16675
IMc->feedback->isValidPage=false  
extra.js:26:9
IMc->feedback-> GW_RS3TTM isValidPage=true  
extra.js:87:9

I hope others can reproduce this.

Thank you.

User avatar
Night Wing
Knows the dark side
Knows the dark side
Posts: 6056
Joined: 2011-10-03, 10:19
Location: Piney Woods of Southeast Texas, USA

Re: Loctite Website issues, https://www.loctiteproducts.com/

Post by Night Wing » 2026-07-17, 23:58

I get the same overlapping as you do with linux Pale Moon. I then tested your link in my backup linux Waterfox browser and there is no overlapping.
MX Linux 25.2 (Infinity) Xfce w/Pale Moon, Waterfox, Firefox
Linux Debian 13.6 (Trixie) Xfce w/Pale Moon, Waterfox, Firefox

User avatar
Hugo Oberstein
Hobby Astronomer
Hobby Astronomer
Posts: 26
Joined: 2024-11-21, 01:40

Re: Loctite Website issues, https://www.loctiteproducts.com/

Post by Hugo Oberstein » 2026-07-23, 18:20

Thank you Night Wing for your suggestion. I have seen you mention that in the past. Your comments are always welcome.

The part that is odd to me is if I use Firefox 78 ESR, a very old version, the site loads properly. I can only imagine that there is some code NOT used in the old browser that allows the site to show. Strange.

My hope is Pale Moon will eventually correct this in future versions.

A thank you to the developers of Pale Moon.

User avatar
andyprough
Forum staff
Forum staff
Posts: 1659
Joined: 2020-05-31, 04:33

Re: Loctite Website issues, https://www.loctiteproducts.com/

Post by andyprough » 2026-07-24, 01:09

Here is a Modify HTTP Response filter that should get the page layout in workable condition for you:

Code: Select all

[["www.loctiteproducts.com",["/.*treeshaking\\.lc-.*-lc\\.min\\.js.*/",["/^/","(function(){if(window.__pmLoctiteFixBootstrapped){return;}window.__pmLoctiteFixBootstrapped=true;if(typeof Element!==\"undefined\"&&!Element.prototype.checkVisibility){Element.prototype.checkVisibility=function(o){o=o||{};var s=getComputedStyle(this);if(!s||s.display===\"none\"||s.contentVisibility===\"hidden\"||!this.getClientRects||this.getClientRects().length===0){return false;}if((o.checkOpacity||o.opacityProperty)&&parseFloat(s.opacity)===0){return false;}if((o.checkVisibilityCSS||o.visibilityProperty)&&(s.visibility===\"hidden\"||s.visibility===\"collapse\")){return false;}return true;};}function classText(el){try{return String(el.className||\"\");}catch(e){return \"\";}}function hasClass(el,name){return (\" \"+classText(el)+\" \").indexOf(\" \"+name+\" \")!==-1;}function isInsideFooter(el){var p=el;while(p&&p!==document){if(p.tagName===\"HELIUX-FOOTER\"||hasClass(p,\"cmp-experiencefragment--footer\")){return true;}p=p.parentNode;}return false;}function isExcludedComponent(el){var tag=el.tagName;return tag===\"HELIUX-HEADER\"||tag===\"HELIUX-FOOTER\"||tag===\"HELIUX-BACKTOTOP\"||tag===\"HELIUX-NAV-ADJUSTABLE\"||tag===\"HELIUX-NAVIGATION\"||tag===\"HELIUX-DESKTOPNAV\";}function repairFooter(){var containers=document.querySelectorAll(\".cmp-experiencefragment--footer .section__content\");var container=null;var i,j,k,children,hasLegalLinks,hasCopyright,child;for(i=0;i<containers.length;i++){children=containers[i].children;hasLegalLinks=false;hasCopyright=false;for(j=0;j<children.length;j++){if(children[j].tagName===\"HELIUX-LINKLIST\"&&hasClass(children[j],\"legallinks\")){hasLegalLinks=true;}if(children[j].tagName===\"HELIUX-TEXT\"&&hasClass(children[j],\"copyright\")){hasCopyright=true;}}if(hasLegalLinks&&hasCopyright){container=containers[i];break;}}if(!container){return false;}container.style.setProperty(\"display\",\"block\",\"important\");container.style.setProperty(\"height\",\"auto\",\"important\");container.style.setProperty(\"min-height\",\"0\",\"important\");container.style.setProperty(\"max-height\",\"none\",\"important\");for(k=0;k<container.children.length;k++){child=container.children[k];child.style.setProperty(\"display\",\"block\",\"important\");child.style.setProperty(\"position\",\"relative\",\"important\");child.style.setProperty(\"height\",\"auto\",\"important\");child.style.setProperty(\"max-height\",\"none\",\"important\");child.style.setProperty(\"width\",\"100%\",\"important\");child.style.setProperty(\"grid-row\",\"auto\",\"important\");child.style.setProperty(\"grid-column\",\"auto\",\"important\");}return true;}function repairMainPage(){var all=document.getElementsByTagName(\"*\");var candidates=[];var i,j,k,el,tag,cs,r,descendants,child,cr,ccs,lowestBottom,neededHeight,item;for(i=0;i<all.length;i++){el=all[i];tag=el.tagName.toLowerCase();if(tag.indexOf(\"heliux-\")!==0){continue;}if(isInsideFooter(el)||isExcludedComponent(el)){continue;}cs=getComputedStyle(el);r=el.getBoundingClientRect();if(cs.display===\"none\"||cs.visibility===\"hidden\"||cs.position===\"absolute\"||cs.position===\"fixed\"||cs.position===\"sticky\"){continue;}descendants=el.getElementsByTagName(\"*\");lowestBottom=r.bottom;for(j=0;j<descendants.length;j++){child=descendants[j];if(isInsideFooter(child)){continue;}cr=child.getBoundingClientRect();ccs=getComputedStyle(child);if(ccs.display!==\"none\"&&ccs.visibility!==\"hidden\"&&ccs.position!==\"fixed\"&&ccs.position!==\"sticky\"&&cr.width>0&&cr.height>0&&cr.bottom>lowestBottom){lowestBottom=cr.bottom;}}neededHeight=Math.ceil(lowestBottom-r.top);if(neededHeight>20&&r.height+4<neededHeight){candidates.push({element:el,height:neededHeight});}}for(k=0;k<candidates.length;k++){item=candidates[k];item.element.style.setProperty(\"min-height\",item.height+\"px\",\"important\");item.element.style.setProperty(\"box-sizing\",\"border-box\",\"important\");}}function runRepair(){if(window.__pmLoctiteRepairRunning){return;}window.__pmLoctiteRepairRunning=true;window.__pmLoctiteCombinedFix=\"running\";var passes=0;function pass(){passes++;repairFooter();repairMainPage();repairFooter();document.documentElement.offsetHeight;if(passes<5){setTimeout(pass,400);}else{window.__pmLoctiteRepairRunning=false;window.__pmLoctiteCombinedFix=\"installed\";}}pass();}function start(){setTimeout(runRepair,0);}if(document.readyState===\"loading\"){document.addEventListener(\"DOMContentLoaded\",start,false);}else{start();}window.addEventListener(\"load\",function(){setTimeout(runRepair,500);},false);}());"]]]]
Loctite’s JavaScript calls Element.prototype.checkVisibility(), which is missing in UXP, and many of the site’s custom heliux-* elements were then left with zero or near-zero height even though their contents were still visible. That caused later sections to be laid out on top of earlier ones.

The Modify HTTP Response workaround does two things: it adds a small checkVisibility() compatibility shim, then measures the visible contents of the collapsed heliux-* containers and gives them enough minimum height to participate in normal page flow. The footer needed a separate fix because one of its CSS Grid rows was collapsing to zero height, so the workaround switches that footer container to ordinary block flow.

This is only a site-specific workaround, but it makes the homepage usable in Pale Moon and Basilisk.