[ Note that this page will redirect to one level up, in... seconds ]
This Dhi object demo page shows:
- Usage of an eXportable that is pre-initialized with a Dhi -- see eXportables definition in the python source for the Specials Types Directory, and compare the initial Dhi there with the final Dhi, displayed below, that this page is rendered with.
- Usage of how the page adds to the various attributes of the Dhi -- see content sub-template for this page.
- Usage of how other objects participate to building up the Dhi -- see the site template that adds a Collapsable Gizmo object for displaying the content sub-template for this page.
- Sample usage of the infrequently used meta and http-equiv attributes.
- How the Dhi controls the generation of the HEAD element.
- How the Dhi guarantees that a DHTML document has at most one <script> and at most one <style> element inlined within the document HEAD.
- How the Dhi elmininates the need of any <script> or <style> tags interspersed within the document BODY.
The Dhi, in the state that it is in at this stage of page processing, is displayed here. Notice that as the Collapsable Gizmo that the page template renders later does not yet show up -- but this is OK as the Dhi, and the HEAD element, are always rendered last, meaning that the Dhi for a page may be added to until the very end of content rendering.
{}
'body_attrs' : {},
'css_codes' : [
'.bb { border: 3px dotted blue; }',
'.bg { border: 2px dashed green; }',
'.by { border: 3px dashed yellow; }',
'.br { border: 2px dotted red; }'
],'.bg { border: 2px dashed green; }',
'.by { border: 3px dashed yellow; }',
'.br { border: 2px dotted red; }'
'css_files' : [
'site.css'
],'gizmos' : {},
'http_equiv' : {},
'refresh' : "60;url='.'",
'js_codes' : [
'var kount=0;',
'var initial_body_klass;',
"var klasses = ['bb','bg','by','br'];",
"\nfunction get_body() { return document.getElementsByTagName('body')[0]; }",
'\nfunction mod(divisee, base) { \n return Math.round(divisee - (Math.floor(divisee/base)*base)); }',
"\nfunction set_body_klass() {\n get_body().className = initial_body_klass+' '+klasses[mod(kount, 4)];\n kount += 1; \n window.setTimeout('set_body_klass();', 1000); }",
"\nfunction set_countdown() {\n var cd = document.getElementById('countdown');\n cd.innerHTML = (60-kount);\n window.setTimeout('set_countdown();', 1000);\n}"
],'var initial_body_klass;',
"var klasses = ['bb','bg','by','br'];",
"\nfunction get_body() { return document.getElementsByTagName('body')[0]; }",
'\nfunction mod(divisee, base) { \n return Math.round(divisee - (Math.floor(divisee/base)*base)); }',
"\nfunction set_body_klass() {\n get_body().className = initial_body_klass+' '+klasses[mod(kount, 4)];\n kount += 1; \n window.setTimeout('set_body_klass();', 1000); }",
"\nfunction set_countdown() {\n var cd = document.getElementById('countdown');\n cd.innerHTML = (60-kount);\n window.setTimeout('set_countdown();', 1000);\n}"
'js_files' : [],
'meta' : {},
'description' : 'dhtmlinfo object test page',
'onload_actions' : [
'initial_body_klass = get_body().className;',
'set_body_klass();',
'set_countdown();'
],'set_body_klass();',
'set_countdown();'
'x' : {},
'allow' : None,
'attribute' : 'dhinfo',
'component' : 'dhi',
'crumb' : 'Dhi',
'dhi' : <gz.fill.dhi.Dhi object at 0x848458c>,
'slashed' : False,
'title' : 'Dhi',