Custom CSS feature to inject custom JavaScript
-
@frissdiegurke when using
document.write
you can avoid replacing the whole site, but it cannot be loaded asynchronously aka injected (as it needs to execute immediately on DOM build), which is most likely the case on most NodeBB pages@DennisSun if you want to have a dynamic the protocol, or maybe that string at the end, use something like
<script type="text/javascript"> (function() { var something = '0da233db09b6a0886cd3f9d1a52e64d8'; // or could be dynamically generated, I don't know // build your script tag var script = document.createElement('script'); script.type = 'text/javascript'; // that's useless, browsers ignore it, but whateves script.async = true; script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'hm.baidu.com/h.js?' + something; // google analytics does that, this will find this actually script (unless loaded asynchronously, in that case it would find the last script tag on the page) // it should work in either case // var thisScriptTag = document.getElementsByTagName('script')[0]; // thisScriptTag.parentNode.insertBefore(script, s); // or you can just append it to the head var head = document.getElementsByTagName('head')[0]; head.appendChild(script); })(); </script>
Copyright © 2024 NodeBB | Contributors