Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //The browser detection function.
- //This function can be used for other purposes also.
- function UserAgent()
- {
- //alert("UserAgent");
- var b=navigator.appName.toUpperCase();
- if (b=="NETSCAPE") this.b="ns";
- else if (b=="MICROSOFT INTERNET EXPLORER") this.b="ie";
- else if (b=="OPERA") this.b="op";
- else this.b=b;
- this.version=navigator.appVersion;
- this.v=parseInt(this.version);
- this.ns=(this.b=="ns" && this.v>=4);
- this.ns4=(this.b=="ns" && this.v==4);
- this.ns5=(this.b=="ns" && this.v==5);
- this.ie=(this.b=="ie" && this.v>=4);
- this.ie4=(this.version.indexOf('MSIE 4')>0);
- this.ie5=(this.version.indexOf('MSIE 5')>0);
- this.ie55=(this.version.indexOf('MSIE 5.5')>0);
- this.ie6=(this.version.indexOf('MSIE 6')>0);
- this.op = (this.b=="op");
- this.op4 = (this.b=="op" && this.v==4);
- this.op5 = (this.b=="op" && this.v==5);
- }
- at=new UserAgent();
- //if you want to create the frame or layer dynamically, do not
- //specify a name, do something like this, new exchanger();
- function exchanger(name)
- {
- //alert("exchanger");
- //hold the dynamically created iframe or layer
- this.lyr = null;
- //to remember if the iframe or layer is created dynamically.
- this.isDynamic = false;
- this.name=name||"";
- this.fakeid=0;
- if (name == null || name=="")
- {
- this.isDynamic = true;
- this.create();
- }
- else
- {
- this.name=name;
- if (at.ns4)
- {
- this.lyr = window.document.layers[this.name];
- }
- }
- }
- //this function should not be called directly
- exchanger.prototype.create=function()
- {
- //alert("exchanger.prototype.create");
- if (at.ns4)
- {
- this.lyr=new Layer(0);
- this.visibility = "hide";
- }
- else if (at.ie || at.ns5)
- {
- this.lyr=document.createElement("IFRAME");
- this.lyr.width=0;
- this.lyr.height=0;
- this.lyr.marginWidth=0;
- this.lyr.marginHeight=0;
- this.lyr.frameBorder=0;
- this.lyr.style.visibility="hidden";
- this.lyr.style.position="absolute";
- this.lyr.src="https://p1.kvcc.edu/gba//blank.html";
- this.name="tongIFrame"+window.frames.length;
- //this will make IE work.
- this.lyr.setAttribute("id",this.name);
- //this will make netscape work.
- this.lyr.setAttribute("name",this.name);
- document.body.appendChild(this.lyr);
- }
- }
- exchanger.prototype.sendData=function(url)
- {
- //alert("exchanger.prototype.sendData");
- this.fakeid += 1;
- var newurl = "";
- if (url.indexOf("?") >= 0)
- newurl = url + "&fakeId" + this.fakeid;
- else
- newurl = url + "?fakeId" + this.fakeid;
- if (this.isDynamic||at.ns4)
- this.lyr.src=newurl;
- else
- {
- if (at.ie || at.ns5 || at.op)
- {
- //alert("DEBUG!");
- //alert(newurl);
- //alert(this.name);
- // original has bug
- //window.frames[this.name].document.location.replace(newurl);
- // works
- parent.frames[this.name].location = newurl;
- //alert("successful");
- }
- }
- }
- exchanger.prototype.retrieveData=function(varName)
- {
- //lert("exchanger.prototype.retrieveData");
- if (at.ns4)
- {
- return eval("this.lyr." + varName);
- }
- else if (at.ie || at.ns5 || at.op)
- {
- return eval("window.frames['" + this.name + "']." + varName);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement