Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

[spriteme] r41 committed - Fix bug where images with a querystring caused the CoolRunning request...

5 views
Skip to first unread message

codesite...@google.com

unread,
Aug 29, 2014, 7:17:31 PM8/29/14
to spri...@googlegroups.com
Revision: 41
Author: stevesoudersorg
Date: Fri Aug 29 23:17:17 2014 UTC
Log: Fix bug where images with a querystring caused the CoolRunning
request to fail because it had multiple question marks ("?") in it. So now
we call encodeURIComponent to escape the URL of images in the web page.
Second fix was to avoid trying to sprite ".svg" images.
https://code.google.com/p/spriteme/source/detail?r=41

Modified:
/trunk/spriteme.js

=======================================
--- /trunk/spriteme.js Wed Feb 27 19:25:59 2013 UTC
+++ /trunk/spriteme.js Fri Aug 29 23:17:17 2014 UTC
@@ -51,6 +51,7 @@
SpriteMe.ALREADYSPRITE = 11;
SpriteMe.NOELEMSIZE = 12;
SpriteMe.JPG = 13;
+SpriteMe.SVG = 14;
SpriteMe.ERROR = -1;


@@ -507,7 +508,7 @@
var bgImage = spriteObj.bgImages[i];
iTop = ( spriteObj.bVertical ? iTop + bgImage.marginTop :
bgImage.marginTop );
iLeft = ( !spriteObj.bVertical ? iLeft + bgImage.marginLeft :
bgImage.marginLeft );
- sJson += ( sJson ? ', ' : '' ) + '{"url":"' + bgImage.url + '", "top":'
+ iTop + ', "left":' + iLeft + '}';
+ sJson += ( sJson ? ', ' : '' ) + '{"url":"' +
encodeURIComponent(bgImage.url) + '", "top":' + iTop + ', "left":' + iLeft
+ '}';
bgImage.spriteTop = iTop;
bgImage.spriteLeft = iLeft;
if ( spriteObj.bVertical ) {
@@ -518,7 +519,7 @@
else {
var nRepeats = parseInt(bgImage.resizeWidth/bgImage.width);
for ( var nr = 0; nr < nRepeats; nr++ ) {
- sJson += ', {"url":"' + bgImage.url + '", "top":' + iTop
+ ', "left":' + (iLeft+((nr+1)*bgImage.width)) + '}';
+ sJson += ', {"url":"' + encodeURIComponent(bgImage.url) + '", "top":'
+ iTop + ', "left":' + (iLeft+((nr+1)*bgImage.width)) + '}';
}
iTotalWidth = ( iTotalWidth <
bgImage.resizeWidth+bgImage.marginLeft+bgImage.marginRight ?
bgImage.resizeWidth+bgImage.marginLeft+bgImage.marginRight :
iTotalWidth );
@@ -1702,7 +1703,10 @@
return "repeats x AND y";
}
else if ( SpriteMe.JPG == this.iState ) {
- return "jpeg";
+ return "jpegs aren't sprited";
+ }
+ else if ( SpriteMe.SVG == this.iState ) {
+ return "svgs aren't sprited";
}
else if ( SpriteMe.NOELEMSIZE == this.iState ) {
return "none of the elements are visible";
@@ -1754,6 +1758,9 @@
else if ( -1 != this.url.indexOf(".jpg") ) {
iState = SpriteMe.JPG;
}
+ else if ( -1 != this.url.indexOf(".svg") ) {
+ iState = SpriteMe.SVG;
+ }
else if ( ! this.bElemSize ) {
iState = SpriteMe.NOELEMSIZE;
}
Reply all
Reply to author
Forward
0 new messages