JavaScript kann man für unterstützende Funktionalität verwenden, aber man sollte immer zumindest für sämtliche wichtigen Funktionen eine skriptlose Alternative anbieten. In diesem Fall würde ich den Kram in einen normalen IFrame oder einen äquivalenten Tag tun, den in ein <div> oder <span> einwickeln und in jenem per Skriptstart den bestehenden Content durch den JS-Kram ersetzen. Das ist zwar mal eben doppelt so groß aber es funktioniert auch bei Leuten, die keine Lust auf JavaScript haben.
Graceful degradation sollte beim Webdesign eine Grundvoraussetzung sein und kein Luxus.
...