gibney.org
:
Technology
:
Javascript
:
Experiments
:
Link Preview
(Entry Nr. 270, by user 1 |
edit
)
if ('undefined'==typeof(ge_included)) { ge_included_left2load=0; ge_included=new Object(); ge_included["http://javascript.gibney.org/standards.js"]=true; function ge_require_once(src) { if(ge_included[src]) return; ge_included_left2load++; var sn=document.createElement("script"); sn.onload=function(){ ge_included_left2load--; } sn.onreadystatechange=function(){ if(this.readyState=='loaded' || this.readyState=='complete'){ ge_included_left2load--;this.onreadystatechange=null; } } sn.type="text/javascript"; sn.src=src; heads=document.getElementsByTagName("head"); heads[0].appendChild(sn); ge_included[src]=true; } function startMain() { if (ge_included_left2load<1) main(); else setTimeout("startMain()",250); } } // -------------------------------------------------------------------------------------------------------------------------------- function ge_Resize(Thing) { if (Thing.complete) { Thing.ge_Size+=1; Thing.style.width =Thing.ge_Size; Thing.style.height =Thing.ge_Size; } if (Thing.ge_Size<Thing.ge_EndSize) setTimeout(function() {ge_Resize(Thing)}, 50); } function ge_ResizeStart(Thing) { Thing.ge_Size=0; Thing.ge_EndSize=Thing.width; Thing.style.width =Thing.ge_Size; Thing.style.height =Thing.ge_Size; Thing.style.visibility="visible"; if (Thing.ge_Size<Thing.ge_EndSize) setTimeout(function() {ge_Resize(Thing)}, 50); } // -------------------------------------------------------------------------------------------------------------------------------- function ge_LinkPreview(LinkClass,PicClass) { this.LinkClass=LinkClass; this.PicClass =PicClass; } ge_LinkPreview.prototype.SubCat_ShowContents2=function(Url,Link,Html) { Path=Url.substr(0,Url.lastIndexOf("/")+1); //NewThings=Html.match(/"[^"]*im[a]ges.*jpg/gi); RegStr="<img.*class=.*"+this.PicClass+".*>"; Search=new RegExp(RegStr,"gi"); NewThings=Html.match(Search); //alert (NewThings[0]); for (i=0;i<NewThings.length;i++) { RegStr="src=[\"\']([^\"^\']*)[\"\']"; Search=new RegExp(RegStr,"i"); PicUrl=NewThings[i].match(Search)[1]; RegStr="alt=[\"\']([^\"^\']*)[\"\']"; Search=new RegExp(RegStr,"i"); PicName=NewThings[i].match(Search)[1]; //PicUrl=NewThings[i].replace(/"/g, ""); // kill all tueddelchens if (i=="input") continue; // In IE, the result of "match" contains an entry "input" var NewPic = document.createElement("img"); NewPic.src=Path+PicUrl; NewPic.className="SubImage SubImage"+i; Link.appendChild(NewPic); if (NewPic.width<2) // Opera sets a width of 0 to 1. So we cannot test for 0. { Link.removeChild(NewPic); break; } var PicLink=PicUrl.substr(PicUrl.lastIndexOf("/")+1); PicLink=PicLink.substr(0,PicLink.length-4); NewPic.ge_Name=PicLink; NewPic.title=PicName; NewPic.onclick=function() { location.href=Url+"#"+this.ge_Name; return false; }; // NewPic.onmouseover=function() { this.style.width=107; this.style.height=107; this.style.zIndex=999;} // NewPic.onmouseout =function() { this.style.width=50; this.style.height=50; this.style.zIndex=0;} ge_ResizeStart(NewPic); } var myself=this; setTimeout(function (){myself.NextLink()},500); } ge_LinkPreview.prototype.SubCat_ShowContents=function(Url,Link) { http=new ge_http(); var myself=this; Handler=function () { if (http.xmlHttp.readyState == 4) myself.SubCat_ShowContents2(Url,Link,http.xmlHttp.responseText); }; http.get(Link,Handler); } ge_LinkPreview.prototype.NextLink=function() { Links=document.getElementsByTagName("a"); for (i=0;i<Links.length;i++) { if ((Links[i].className==this.LinkClass) && (!Links[i].LinkIsDone)) { Links[i].LinkIsDone=true; Url=Links[i].href; this.SubCat_ShowContents(Url,Links[i]); break; } } } // ----------------------------------------------------------------- // Main // ----------------------------------------------------------------- ge_require_once ("http://javascript.gibney.org/http.js");
Create a new entry at this position