Write Layer from Stored file?

Discussion in 'HTML & Website Design' started by ehime, Sep 30, 2008.

  1. #1
    So I'm using
    
    var ie4 = (document.all) ? true : false;
    var ns4 = (document.layers) ? true : false;
    var ns6 = (document.getElementById && !document.all) ? true : false;
    
    function hidelayer(lay) {
    	if (ie4) {document.all[lay].style.visibility = "hidden";}
    	if (ns4) {document.layers[lay].visibility = "hide";}
    	if (ns6) {document.getElementById([lay]).style.display = "none";}
    }
    
    function showlayer(lay) {
    	if (ie4) {document.all[lay].style.visibility = "visible";}
    	if (ns4) {document.layers[lay].visibility = "show";}
    	if (ns6) {document.getElementById([lay]).style.display = "block";}
    }
    
    function writetolayer(lay,txt) {
    	if (ie4) {
    	 document.all[lay].innerHTML = txt;
    }
    
    if (ns4) {
    	document[lay].document.write(txt);
    	document[lay].document.close();
    }
    
    if (ns6) {
    	over = document.getElementById([lay]);
    	range = document.createRange();
    	range.setStartBefore(over);
    	domfrag = range.createContextualFragment(txt);
    
    		while (over.hasChildNodes()) {
    		over.removeChild(over.lastChild);
    }
    
    	over.appendChild(domfrag);
       }
    }
    
    Code (markup):
    And

    <a href="javascript:writetolayer('liquidlayer','NextText');">
    Code (markup):
    To swap out my layers, I decided for (future) easy of use to swap layers
    from a server stored file, txt or html, have js writetolayer to cover the old
    layer, rinse and repeat. Now I see where the pointer is, (liquidlayer) but
    I can't figure out how to pull it from an href. Opinions?
     
    ehime, Sep 30, 2008 IP
  2. ehime

    ehime Peon

    Messages:
    10
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Swapped coding, this works great.

    
    
    var srcFrame;
    
    //External content into a layer
    function loadOuter(doc) {
     srcFrame = document.getElementById("hiddenContent");
     srcFrame.src = doc;
    
     // workaround for missing onLoad event in IFRAME for NN6
     if (!srcFrame.onload) {
      setTimeout("transferHTML()", 500)
     }
    }
    
    function transferHTML(){
     srcContent='';
     if (srcFrame.contentDocument){
      srcContent=srcFrame.contentDocument.getElementsByTagName("BODY")[0].innerHTML;
     }
     else if (srcFrame.contentWindow){
      srcContent=srcFrame.contentWindow.document.body.innerHTML;
     }
     document.getElementById("outerDisplay").innerHTML = srcContent
    }
    
    
    var DocAry=new Array('');
    
    function SelectList(v){
     if (v>0){
      loadOuter(DocAry[v-1]);
     }
    }
    
    Code (markup):
    And the html

    
    <a href="#" onClick="loadOuter('WhatEverTextOrHTMLHere.html')">SHARK WITH FRIGGIN LASERS</a>
    
    Code (markup):
     
    ehime, Sep 30, 2008 IP