Syntaxhighlighter Mirror DOWN at - Script Render Fallback

With the current outage of syntaxhighlighter at  I searched for alternative mirrors, and realized how many people now solely rely on as a CDN (content deliver network) to directly load the scripts for their syntax-highlighting needs from the 'current'-fork of SH. After all the site itself promotes that use, however didn't stand up to the expected quality of service one would expect.

One crucial problem which arises in a case of an outage of remote resource delivery is that with the newer method of packing scriptlets into actual script tags, nothing will be shown without the Syntaxhighlighting-script included. There is simply no fallback!
In this newer method of scriptlet presentation the scriptlet content is embedded in XML conforming CDATA container within script-tags. In principle most users must rely on this method if a basic convenience of editing character rich code and XHTML conformity is to be upheld.

Fallback if no Syntaxhighlighter is present:

Note: If you just need a quick working solution, use this shAutloader.js instead, which already includes the Fallback functionality.
<script src='' type='text/javascript'></script>

An apropriate css-class would be for instance...

.preFallback {
border:1px solid #eee;

I quickly came up with a FALLBACK code-snippet, which you would best include right after you invoke the Syntaxhighlighter-Render like this:


Here is a better readable version of the programm

for(var i in els) {
if( /brush/.test(els[i].className) ){
var pN = els[i].parentNode;
var content = els[i].innerHTML;
newDomEl = document.createElement('pre');
newDomEl.innerHTML = content;
if(els[i].className) newDomEl.className = els[i].className;
pN.replaceChild(newDomEl, els[i]); //new, old

Just include this instead of dp.SyntaxHighlighter.HighlightAll(). You can style the fallback pre-tags by setting the variable elClass to a string containing the classname. Otherwise you can directly add different Fallback classes to the script tags containing your scriptlets.

//dp is the typical SyntaxHighlighter object;
//use the class 'shFallback' for styling the fallback
if(typeof dp === 'undefined' ){
var els = document.getElementsByTagName('script');
var elClass = null; //or e.g. class 'shFallback'
for(var i in els) {
if( /brush/.test(els[i].className) ){
var newDomEl = document.createElement('pre');
newDomEl.innerHTML = els[i].innerHTML.replace('<![CDATA[','').replace(']]>','');//filter CDATA Elements
if(els[i].className || elClass) newDomEl.className = elClass ? elClass : els[i].className;
els[i].parentNode.replaceChild(newDomEl, els[i]); //new, old
}else {