[Scummvm-cvs-logs] SF.net SVN: scummvm:[40854] web/trunk/javascripts/introduction.js

fredrik_w at users.sourceforge.net fredrik_w at users.sourceforge.net
Sun May 24 10:53:46 CEST 2009


Revision: 40854
          http://scummvm.svn.sourceforge.net/scummvm/?rev=40854&view=rev
Author:   fredrik_w
Date:     2009-05-24 08:53:46 +0000 (Sun, 24 May 2009)

Log Message:
-----------
Opera didn't support baseURI so when the javascript loaded the image would be replaced by the first. 
Opera also differented in how the attributes are returned as it returns "url('data/screenshots/...')" while the other browsers return "url(data/screenshots/...)".

Modified Paths:
--------------
    web/trunk/javascripts/introduction.js

Modified: web/trunk/javascripts/introduction.js
===================================================================
--- web/trunk/javascripts/introduction.js	2009-05-24 08:39:14 UTC (rev 40853)
+++ web/trunk/javascripts/introduction.js	2009-05-24 08:53:46 UTC (rev 40854)
@@ -1,4 +1,6 @@
-var rand_img = $('a#screenshots_random img')[0];
+var base_href = $('base').attr('href');
+var rand_img = $('a#screenshots_random img');
+var image_regexp = /(data\/screenshots\/(?:.+)-full\.png)/;
 var screenshots = [];
 var position = 0;
 
@@ -10,27 +12,28 @@
 	} else if (position >= screenshots.length) {
 		position = 0;
 	}
-	rand_img.src = screenshots[position][0].replace('-full.png', '.jpg');
-	rand_img.parentNode.title = screenshots[position][1];
+	rand_img.attr('src', screenshots[position][0].replace('-full.png', '.jpg'));
+	rand_img.get(0).parentNode.title = screenshots[position][1];
 }
 
 /* Find the position for the random screenshot. */
 function findPosition () {
-	var rand_url = rand_img.src.replace('.jpg', '-full.png');
-	rand_url = rand_url.replace(rand_img.baseURI, '');
+	var rand_url = rand_img.attr('src').replace('.jpg', '-full.png');
+	rand_url = rand_url.replace(base_href, '');
 	for (var i=0, i_max=screenshots.length; i < i_max; i++) {
 		if (screenshots[i][0] == rand_url) {
 			position = i;
 			break;
 		}
 	}
+	
 	changeScreenshot(0);
 }
 
-/* */
+/* Update the preview when closing slimbox. */
 function handleClosure () {
-	var cur_img = $('#lbImage').css('background-image').replace(rand_img.baseURI, '');
-	rand_img.src = cur_img.substring(4, cur_img.length-1);
+	var cur_img = $('#lbImage').css('background-image');
+	rand_img.attr('src', image_regexp.exec(cur_img)[0]);
 	findPosition();
 }
 
@@ -59,7 +62,7 @@
 	});
 
 	/* Clicking the image. */
-	$(rand_img).click(function (evt) {
+	rand_img.click(function (evt) {
 		evt.preventDefault();
 		$.slimbox(screenshots, position);
 	});


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list