From: <bra...@us...> - 2009-11-06 02:50:58
|
Revision: 2898 http://archive-access.svn.sourceforge.net/archive-access/?rev=2898&view=rev Author: bradtofel Date: 2009-11-06 02:50:51 +0000 (Fri, 06 Nov 2009) Log Message: ----------- REFACTOR: extracted logic to determine if the "current" frame is the largest within a set of frames, and added a method to enable toggling the display of 2 elements depending if the "current" frame is the largest. This new method would enable a smaller "disclaimer" to be used in all other frames besides the largest, as a hint to users that the other frames are still loaded from Wayback. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/js/disclaim-element.js Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/js/disclaim-element.js =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/js/disclaim-element.js 2009-11-06 02:38:40 UTC (rev 2897) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/js/disclaim-element.js 2009-11-06 02:50:51 UTC (rev 2898) @@ -5,25 +5,40 @@ return 0; } +function isLargestFrame() { + if(top == self) { + return true; + } + if(top.document.body.tagName == "BODY") { + return false; + } + largestArea = 0; + largestFrame = null; + for(i=0;i<top.frames.length;i++) { + frame = top.frames[i]; + area = getFrameArea(frame); + if(area > largestArea) { + largestFrame = frame; + largestArea = area; + } + } + return (self == largestFrame); +} + function disclaimElement(element) { - if(top!=self) { - if(top.document.body.tagName == "BODY") { - return; - } - largestArea = 0; - largestFrame = null; - for(i=0;i<top.frames.length;i++) { - frame = top.frames[i]; - area = getFrameArea(frame); - if(area > largestArea) { - largestFrame = frame; - largestArea = area; - } - } - if(self!=largestFrame) { - return; - } - } - element.style.display="block"; - document.body.insertBefore(element,document.body.firstChild); + if(isLargestFrame()) { + element.style.display="block"; + document.body.insertBefore(element,document.body.firstChild); + } } + +function disclaimToggle(largest, nonLargest) { + if(isLargestFrame()) { + largest.style.display="block"; + nonLargest.style.display="none"; + } else { + largest.style.display="none"; + nonLargest.style.display="block"; + } +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |