>>>>2007-12-31 16:08:37 +0100: REVISION 360 [CHANGED] Renamed `sIFR.registerEvents` to `sIFR.autoInitialize`. >>>>2007-12-31 16:06:52 +0100: REVISION 359 [CHANGED] Removed `sIFR.hideElements`. If you don't want to hide the HTML text before replacing, remove the `visibility:hidden` style rule from the decoy styles. >>>>2007-12-31 14:48:13 +0100: REVISION 358 [FIXED] Now rounding the zoom level to the nearest 5% value, cause it's not always very exact. Also added a little zoom detection hack for IE7. >>>>2007-12-30 19:42:17 +0100: REVISION 357 [FIXED] Fixed some issues with ratio calculation after the recent changes. Also disabled wmode when calculating ratios, it crashes Firefox on Windows. >>>>2007-12-30 19:28:43 +0100: REVISION 356 [FIXED] Initial zoom calculation was broken. >>>>2007-12-30 17:50:25 +0100: REVISION 355 [FIXED] Flash movies don't rescale if they're not visible when the zoom level changes. sIFR now listens to the scroll event to scale all Flash movies every time the page scrolls. A bit crude, but it works. >>>>2007-12-30 17:21:41 +0100: REVISION 354 [CHANGED] Rewrote callback matching. >>>>2007-12-30 16:40:02 +0100: REVISION 353 [NEW] Added support for page zoom! >>>>2007-12-30 14:20:10 +0100: REVISION 352 [FIXED] Broke the `changeCSS` method, fixed now. >>>>2007-12-29 16:01:29 +0100: REVISION 351 [CHANGED] Removed `sifr` attribute from the Flash movie object. >>>>2007-12-26 20:06:18 +0100: REVISION 350 [FIXED] sIFR would not load in IE inside an iframe, if useDomLoaded is enabled. >>>>2007-12-26 19:23:29 +0100: REVISION 349 [CHANGED] Made forceWidth the default option, because sIFR supports window resize handling. Also improved the resize handling. If you disable resize handling, you should also set forceWidth to `false` to prevent the movie from "sticking out" when the window is made smaller. >>>>2007-12-26 13:45:36 +0100: REVISION 348 [CHANGED] Replaced tabs by spaces in the CSS files. >>>>2007-12-26 13:41:19 +0100: REVISION 347 [NEW] In IE, when the page unloads, a sIFR-unloading class is added to the document element. I've added a bit of CSS to sIFR-screen.css which hides the Flash movies if this class is set. This works around rendering issues in IE with the old Flash movies as the new page loads. >>>>2007-12-25 13:46:57 +0100: REVISION 346 [FIXED] IE tends to block the prompt() containing the ratios, I'm now detecting this and showing an alert instead. Also changed the code so the prompt() is no longer fired directly from the Flash callback, but in a new callstack. Hopefully that'll prevent the browser crashes. >>>>2007-12-25 13:25:43 +0100: REVISION 345 [CHANGED] replaceText() now accepts a second argument, which is an array of nodes to be used as the alternate content. Because fallback for XHTML documents has been removed, you now need to pass in DOM nodes for the alternate content if you're using sIFR in true XHTML documents (with the correct mime-type). >>>>2007-12-18 22:32:58 +0100: REVISION 344 [CHANGED] Rewrote the Flash movie insertion code. It now does pretty much the same as SWFObject, which is cool cause we can now rely on their testing as well. I could also remove the XML fallback code, and I'm no longer using *at all*. This is a pretty big change, so much testing is appreciated! >>>>2007-12-18 16:42:36 +0100: REVISION 343 [NEW] If sIFR is opened from the file system, and the debug code is present, an alert will be show to explain why sIFR did not activate. >>>>2007-12-18 16:31:58 +0100: REVISION 342 [NEW] If sIFR is opened from the file system, and the debug code is present, an alert will be show to explain why sIFR did not activate. >>>>2007-12-16 15:46:57 +0100: REVISION 341 [NEW] Added an XHTML demo. [CHANGED] In Safari 3.0.4, XHTML documents do not expose properties such as `document.location` and `document.cookie`. sIFR requires on these properties, therefore I've added an explicit check for `document.location`. This disables XHTML support in Safari 3.0.4. The properties are correct in the recent WebKit nightlies, but another bug prevent sIFR from correctly inserting the Flash movie into an XHTML document. >>>>2007-12-05 09:12:54 +0100: REVISION 340 [CHANGED] Cleaned up load detection code, changed the CSS detection to use margin-left instead of a background color in order to minimize the chance of accidental display of the dummy element. >>>>2007-12-04 22:25:39 +0100: REVISION 339 [FIXED] Syntax error in r338 (never released). [FIXED] Completely rewrote the initialization code. Important change: sIFR.useDomContentLoaded has been renamed to sIFR.useDomLoaded The DOM load check now (again) works in IE, Safari and Opera. However, in Safari and Opera the replacements won't be executed right after the DOM load, because this is no guarantee that CSS has been applied. Hence: sIFR.useStyleCheck = true; causes sIFR to insert a dummy element into the page, and check it's background color. If as expected (red) CSS is assumed to have been applied, and the replacements are executed. This process is used on all browsers. Some assumptions: * The dummy element doesn't have a red background color because of another selector * The sIFR CSS code is loaded along with other CSS, ensuring that when the sIFR CSS is applied, so is all other CSS. And finally, you need to update sIFR-screen.css for the style check to work. Safari 2 still waits until the full page load. >>>>2007-12-04 19:17:51 +0100: REVISION 338 [CHANGED] Split the version check for Konqueror into major, minor and small, so it becomes possible to check for 3.5.10, if that version is ever created. >>>>2007-12-04 09:23:45 +0100: REVISION 337 [FIXED] r336 could not be exported, because the construction of the menu items violated some Flash-only ActionScript constraint. (Compiling the ActionScript code using MTASC worked fine) Moved the construction and we're good to go. >>>>2007-12-03 21:56:32 +0100: REVISION 336 [NEW] sIFR events and fixHover broke the context menu for link navigation. I've added a custom context menu with the options "Follow link" and "Open link in new window" (which opens the link with target '_new'). For some reason I couldn't use the default text ("Open" and "Open in new window") as Flash wouldn't render the menu item. >>>>2007-12-03 13:14:02 +0100: REVISION 335 [CHANGED] Disabled Opera and Konqueror support while they fix their Flash <-> JavaScript communication issues. >>>>2007-12-03 13:11:42 +0100: REVISION 334 [FIXED] Konqueror is supported from version 3.5.6 and up. >>>>2007-12-02 19:32:53 +0100: REVISION 333 [NEW] Added a global `sIFR.onReplacementStart` event which is fired every time a `replace()` statement is executed. Execution may be delayed while sIFR waits for the page to load. >>>>2007-12-02 19:22:54 +0100: REVISION 332 [FIXED] Resizing the window while repaintOnResize is enabled no longer causes a page reflow. A Flash element may flicker though. >>>>2007-12-02 15:26:21 +0100: REVISION 331 [FIXED] Spaces are now allowed in the replacement CSS. This means you can now specify font families whose name consists of more than one word. >>>>2007-12-02 15:14:05 +0100: REVISION 330 [CHANGED] The default text sIFR renders (when the movie is opened directly, for instance) now contains normal, bold and italic text. >>>>2007-12-02 15:11:12 +0100: REVISION 329 >>>>2007-12-02 14:36:17 +0100: REVISION 328 [NEW] Support for onRollOver and onRollOut events. These events work even if fixHover is applied, unlike onRelease. [NEW] You can now disable the pointer cursor (the 'hand') when using the mouse events. For `.sifr-config`, specify `cursor: arrow`. >>>>2007-11-29 14:33:47 +0100: REVISION 327 >>>>2007-11-29 14:33:29 +0100: REVISION 326 >>>>2007-11-29 14:15:17 +0100: REVISION 325 [CHANGED] Changed the behaviour of the fixFocus kwarg. It will only be activated for Gecko builds later than 20061206, on Windows. >>>>2007-11-29 13:57:59 +0100: REVISION 324 [FIXED] Optimized performance of forceSingleLine. >>>>2007-11-03 10:27:07 +0100: REVISION 323 [FIXED] fixHover was broken in r320. Embarrassingly enough I missed an `else` in the codepath. [FIXED] Some Flash variables had the value 'undefined' instead of a boolean value. >>>>2007-11-01 21:54:54 +0100: REVISION 322 [REMOVED] Removed CSS detection. It occasionally broke down in Safari 3, and I'm no longer willing to rely on the kind of hack I used. >>>>2007-10-23 20:55:14 +0200: REVISION 321 [NEW] You can now add an `onRelease` event handler to the replacement. The handler will be fired after the user clicks on the movie. The first argument to the handler is the callback element for the movie. If the Flash movie contains just one link, and the hover fix is applied, the release event will not be fired. Setting the release handler causes a pointer cursor to appear when the mouse is positioned over the movie. >>>>2007-10-23 11:48:35 +0200: REVISION 320 [CHANGED] forceSingleLine is now enforced through ActionScript. The algorithm keeps increasing the width of the text field until the text stops wrapping. This needs *a lot* of optimization, obviously. >>>>2007-10-23 09:08:01 +0200: REVISION 319 [CHANGED] The focus fix is now applied via the sIFR-screen stylesheet. **If you are using fixFocus, update the CSS!** >>>>2007-10-10 20:38:37 +0200: REVISION 318 >>>>2007-10-06 22:01:13 +0200: REVISION 317 [NEW] Added a workaround for the focus issue in Flash. If a Flash movie has an opaque or transparent window mode, and one of its ancestors is floated, scrolling the page stops the movie from reacting to mouse events until you've clicked on it. AFAIK this only occurs in Firefox on Windows. The workaround adds an extra div around the Flash movie, so the DOM will be slightly different than normal. You can enable the workaround by setting the keyword argument `fixFocus` to true. >>>>2007-10-06 21:28:20 +0200: REVISION 316 >>>>2007-10-06 15:59:20 +0200: REVISION 315 [NEW] Added a forceSingleLine (Boolean) option to the keyword arguments. This will pass a 9999 px width to the Flash movie, meaning that the text will be rendered on one line. This also enforces fitExactly to scale the width of the Flash movie back down. Not sure how well this will behave though. >>>>2007-10-06 15:55:08 +0200: REVISION 314 >>>>2007-10-04 20:30:30 +0200: REVISION 313 [CHANGED] Now treating newline and carriage return characters as a space. >>>>2007-10-03 17:15:28 +0200: REVISION 312 [CHANGED] Removed support for delayCSS. It's not reliable enough, and didn't work in IE or Opera anyway. >>>>2007-10-03 16:32:59 +0200: REVISION 311 [FIXED] The < character was not escaped before it went into the HTML field, causing all following characters to be treated as a tag. Actually fixed it this time around. >>>>2007-10-02 21:00:11 +0200: REVISION 310 [FIXED] The < character was not escaped before it went into the HTML field, causing all following characters to be treated as a tag. >>>>2007-09-18 11:34:53 +0200: REVISION 309 >>>>2007-09-17 10:55:41 +0200: REVISION 308 [CHANGED] Ratio calculation now uses a lowercase x to calculate the aspect ratio of the font. >>>>2007-09-10 13:10:17 +0200: REVISION 307 [NEW] Some server side systems can be very picky about the URIs they accept. sIFR might change the encoding of the URIs, which normally is fine, but not in case of a picky server. You can now specify your own encoding function by setting `kwars.uriEncode`. When called this function receives one argument, the original URI, and it must return an encoded URI. Use at your own risk. >>>>2007-09-09 19:08:56 +0200: REVISION 306 [FIXED] When replacing links, if the URI had already been encoded on the server it would be encoded again. Now first decoding the URI before encoding it. >>>>2007-09-04 22:45:28 +0200: REVISION 305 [FIXED] If a hard coded font size was given, links in the element would break in IE. >>>>2007-08-11 21:20:49 +0200: REVISION 304 [CHANGED] Some refactoring and improvement of the debug helper. >>>>2007-08-11 20:21:52 +0200: REVISION 303 [FIXED] Replacing the text in a sIFR movie now also replaces the alternate text. >>>>2007-08-11 20:16:14 +0200: REVISION 302 [FIXED] fixHover now only applies if the element being replaced contains exactly one link, and that link has no text or other elements as its sibling. [CHANGED] Relying on the JavaScript serialization of Boolean variables when constructing the flashvars. >>>>2007-08-11 20:05:30 +0200: REVISION 301 [FIXED] The dimension calculation workaround from r300 wasn't checking if the child node was in fact an element. >>>>2007-08-11 16:28:53 +0200: REVISION 300 [CHANGED] The code calculating the dimensions of the to-be-replaced elements will now attempt to calculate the dimensions of child elements in case the element itself has no dimensions. [FIXED] Again properly checking if there is any text to be replaced. [CHANGED] Indentation in the demo file. >>>>2007-08-04 00:34:55 +0200: REVISION 299 [FIXED] The "fixHover" fix should only apply to elements with just one link. This actually needs to be improved further so that it only applies if the entire element consists of the link, but that's for a future revision. >>>>2007-07-31 18:22:04 +0200: REVISION 298 [FIXED] Only one "+" got escaped. >>>>2007-07-30 01:26:46 +0200: REVISION 297 [FIXED] The recent version check broke version notification in case the movie was opened directly. >>>>2007-07-30 01:22:17 +0200: REVISION 296 >>>>2007-07-30 01:13:08 +0200: REVISION 295 >>>>2007-07-30 00:48:35 +0200: REVISION 294 [CHANGED] sIFR will now refuse to display if the JavaScript and Flash movie versions don't match. >>>>2007-07-30 00:19:36 +0200: REVISION 293 >>>>2007-07-29 23:58:50 +0200: REVISION 292 [FIXED] Under certain circumstances IE would continuously fire the resize event, which caused some elements to be continuously repainted. I'm now checking if the window has actually resized before repainting the Flash elements. >>>>2007-07-29 03:20:41 +0200: REVISION 291 [CHANGED] Now using the font size from the current style in IE if it's in pixels. This means the font size is no longer approximated and is thus a bit better. >>>>2007-07-28 21:42:51 +0200: REVISION 290 >>>>2007-07-28 00:33:49 +0200: REVISION 289 [NEW] Introduced a `changeCSS` method for callback objects. This replaces the CSS applied to the Flash text. You cannot change all properties, however. Still need to make an easy way to do this for all callback objects responding to a certain selector. >>>>2007-07-27 23:59:02 +0200: REVISION 288 >>>>2007-07-27 23:37:28 +0200: REVISION 287 >>>>2007-07-27 23:37:09 +0200: REVISION 286 [NEW] In case text selection for a sIFR element is disabled, clicking on the Flash movie will automatically blur it. >>>>2007-07-27 02:40:50 +0200: REVISION 285 [CHANGED] Focus fix is now cross-browser and more efficient. >>>>2007-07-27 00:01:39 +0200: REVISION 284 [NEW] Added an option to control resize handling. Set sIFR.repaintOnResize to `false` before activating to prevent resize handling. >>>>2007-07-26 23:55:31 +0200: REVISION 283 [FIXED] Now encoding URIs inside JavaScript, since Flash does such a poor job at it. >>>>2007-07-26 02:16:17 +0200: REVISION 282 [CHANGED] The `delayCss` property has been renamed to `delayCSS`. Also fixed a couple of bugs in it. >>>>2007-07-26 02:01:33 +0200: REVISION 281 [NEW] sIFR will now handle window resizing. >>>>2007-07-15 12:46:45 +0200: REVISION 280 [NEW] Focus is removed from the Flash movie when the user attempts to scroll using the mouse wheel. >>>>2007-07-15 12:33:54 +0200: REVISION 279 [NEW] If the Flash movie has focus (because it was clicked on, for example) and a key event is received, focus is removed from the movie and returned to the document. The next key event will be handled by the browser, and not the Flash movie. This prevents the Flash movie from capturing user input. >>>>2007-07-03 21:05:31 +0200: REVISION 278 [CHANGED] Prevents variable injection using GET variables. >>>>2007-07-03 08:21:41 +0200: REVISION 277 [CHANGED] Removed `sIFR.debugMode`. sIFR will automatically enter debug mode if the debug file is loaded, which is indicated by the presence of `sIFR.debug`. >>>>2007-07-03 08:19:26 +0200: REVISION 276 [FIXED] CallbackInfo methods would not verify wether the Flash movie was still available. >>>>2007-07-03 08:06:11 +0200: REVISION 275 [NEW] Added a "sIFR.redraw()" method which will reset all sIFR movies on the page. >>>>2007-06-06 22:27:08 +0200: REVISION 274 [FIXED] With the previous revision I broke the escaping of "special" characters such as % and +. This should now be fixed. >>>>2007-05-27 20:09:17 +0200: REVISION 273 [CHANGED] Removed `fromLocal` property from the ActionScript code. Don't know how to detect wether the Flash movie is being requested from the filesystem. >>>>2007-05-27 19:55:40 +0200: REVISION 272 [CHANGED] Now disabled sIFR for Gecko-based browsers from 4th August 2004 or older. This blocks Netscape 7.2 builds that apparently crashed when sIFR was running. >>>>2007-05-27 17:49:14 +0200: REVISION 271 [CHANGED] Re-architectured debug mode. When `sifr-debug.js` is loaded, debug mode is automatically enabled. You should not enable it manually. The compressed `sifr.js` file does not contain the error messages, these are loaded by `sifr-debug.js`. >>>>2007-05-27 17:15:32 +0200: REVISION 270 [CHANGED] sIFR will no longer activate when it's being loaded from the filesystem (the location starts with "file:"). If `sIFR.debugMode` is `true`, a JavaScript error will be thrown explaining why sIFR did not activate. To override this you can set `sIFR.fromLocal = true`. The meaning of this property has changed in this revision, by default it used to add "localhost" to the allowed domains. This is no longer the case. >>>>2007-05-27 16:50:00 +0200: REVISION 269 [CHANGED] Added an option to prevent the wrapping of text. Use `preventWrap: true` in the keyword arguments for `sIFR.replace()`. >>>>2007-05-27 16:45:24 +0200: REVISION 268 [CHANGED] The anti-alias type can now be configured by the JavaScript code. Use `antiAliasType` in the keyword arguments, see the Flash documentation for allowed values. >>>>2007-05-27 15:55:27 +0200: REVISION 267 [CHANGED] Improved encoding of Flash variables. >>>>2007-05-27 15:49:50 +0200: REVISION 266 >>>>2007-05-27 15:10:36 +0200: REVISION 265 [FIXED] Problem in IE when using DomContentLoaded. >>>>2007-05-27 15:08:19 +0200: REVISION 264 >>>>2007-05-27 14:50:05 +0200: REVISION 263 >>>>2007-05-27 14:36:02 +0200: REVISION 262 Cleaning up the SVN repository. No changes in sIFR code. >>>>2007-05-20 22:20:19 +0200: REVISION 261 [CHANGED] Added a two second delay to showing the default text in case there is no content. If the resetmovie workaround is applied in IE, this stops the default text from being displayed before the movie is reset. When the movie is opened directly there will also be a two second delay.. >>>>2007-05-20 12:12:22 +0200: REVISION 260 [FIXED] Content was escaped before being passed to the modifyContentString() method. It is now escaped after this method. [FIXED] Links stopped working after the hover fix. When the hover fix is enabled sIFR only supports one link per text movie, and clicking *anywhere* in the movie triggers the link. This is comparable to how sIFR 2 worked. >>>>2007-05-20 12:00:23 +0200: REVISION 259 [FIXED] Escaping and unescaping of Unicode characters when sending content to the Flash movie. Content is now explicitly escaped in the JavaScript code, and unescaped in the Flash code. I'm no longer relying on the browser and Flash plugin to handle this properly when sending text through the FlashVars. It had to be implemented manually anyway for CallbackInfo#replaceText(). >>>>2007-05-19 20:43:53 +0200: REVISION 258 [FIXED] Improved the fix for sticky hovers. Now using MovieClip#onRollOut to detect when the mouse leaves the Flash movie. A side effect is that there will always be a hand cursor when fixHover is enabled, therefore the fix is only applied if the replaced text contains a link. The fix can be disabled by setting `sIFR.fixHover = false;`. [FIXED] When replacing text, the Flash movie wouldn't unescape the content. >>>>2007-05-11 23:14:00 +0200: REVISION 257 [FIXED] There were a few bugs and inefficiencies in the ratio calculations. The new code results in smaller ratios which perform better. >>>>2007-05-11 21:07:09 +0200: REVISION 256 Adding new Options.as file, hopefully all is well now. >>>>2007-05-11 21:06:31 +0200: REVISION 255 Removing incorrectly named Options.as file >>>>2007-05-07 20:48:34 +0200: REVISION 254 [FIXED] Now properly handling tuneHeight values that are of type string. >>>>2007-05-05 13:50:44 +0200: REVISION 253 [CHANGED] If sIFR.prefetch() is called *after* activating sIFR through sIFR.activate(), the Flash movies passed to the prefetch() call will be pre-fetched for all browsers, not just Safari and IE. This can be useful when you're not using sIFR right away. To pre-fetch for Safari and IE pass the movies to the activate() call. >>>>2007-05-05 13:35:08 +0200: REVISION 252 [CHANGED] Removed default ratios. They were incorrect anyway, and not very useful. >>>>2007-05-05 13:34:02 +0200: REVISION 251 [CHANGED] Now catching exceptions thrown when trying to call ActionScript code. CallbackInfo#replaceText() and CallbackInfo#fixHover() now return a boolean value indicating whether the call succeeded. >>>>2007-04-30 12:54:18 +0200: REVISION 250 [FIXED] Added the tuneHeight value to the *correct* height approximation this time. >>>>2007-04-28 21:17:58 +0200: REVISION 249 [FIXED] Forgot to add the tuneHeight value to the height approximation. >>>>2007-04-26 13:47:11 +0200: REVISION 248 [NEW] First stab at background styling, but this has not been exposed yet. [FIXED] Ratio calculation would not take any tuneHeight settings into account. >>>>2007-04-25 22:26:43 +0200: REVISION 247 [NEW] Now generating a changelog when running the export script. >>>>2007-04-24 23:24:20 +0200: REVISION 246 Fixed stylesheet to show .sIFR-ignore elements. >>>>2007-04-19 16:22:44 +0200: REVISION 245 Changed escaping of replaceText() >>>>2007-04-19 16:10:16 +0200: REVISION 244 Renamed CallbackInfo#write() to CallbackInfo#replaceText(). >>>>2007-04-18 16:15:04 +0200: REVISION 243 * Moved some constants into their singleton * Added automatic filtering of units for some CSS properties. >>>>2007-04-18 16:07:03 +0200: REVISION 242 Added transparency and opaqueness options. >>>>2007-04-15 21:15:47 +0200: REVISION 241 Fixed handleContent() function, test for last child was incorrect. >>>>2007-04-13 13:53:07 +0200: REVISION 240 Fix for onReplacement() callback: height and width resizes are now done simultanously. >>>>2007-04-05 21:17:59 +0200: REVISION 239 First stap at a replace() syntax and value validation script. >>>>2007-03-30 20:54:08 +0200: REVISION 238 * Renamed CallbackInfo#getFlashNode() to CallbackInfo#getFlashElement(). * Fixed hoverFix after writing different content. >>>>2007-03-29 18:07:52 +0200: REVISION 237 * Changed framerate of Flash movies. * Forgotten checkin of the export script. >>>>2007-03-29 17:42:15 +0200: REVISION 236 * Improved delayCss handling for Opera. * Removed support for replacing non-visible elements. This doesn't play well with callbacks and Opera, and consistency is better. >>>>2007-03-29 17:19:54 +0200: REVISION 235 Improved callback "API". >>>>2007-03-29 15:03:56 +0200: REVISION 234 Added better way of getting references to callback objects. >>>>2007-03-29 14:28:18 +0200: REVISION 233 Removed resize stuff. Removed background color from element, which is used to test for CSS support. >>>>2007-03-29 14:23:39 +0200: REVISION 232 Checking in first stab at resizing. This is just for record keeping, have to fix other bugs first.