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.
|