Instructions:
* This pack contains the following compressed versions of Prototype: moo.fx Lite, 1.4, 1.5_rc0, 1.5_rc1, 1.5 final, 1.5.1_rc2 * The root folder has an example using one of the smallest Prototype 1.5 Final forms in this package. * prototype.js is prototype-1.5.0 (final)-ultra.js * prototype_alt.js is prototype-1.5.0 (final)-packer (safari 2.0.4).js Download available under the "Files" link. Open the "protopacked files" folder. There choose either 'original', 'formatted', or 'compressed'. Original > The original unmodified forms of all the Prototype versions. Formatted > The formatted forms of all the Prototype versions. These versions contain all the semicolons, regExp mods and such that make them work with the compressors. Compressed > The compressed forms of all the Prototype versions. Each version, except lite, has 6 different compressed forms. - custom: uses my custom compression (a bit slow on the decode, I am working on that) - mem: compressed with the memtronics compressor - nowhitespace: removed whitespace and comments from the file (Deans Packer set to "none" on the compression option). - packer: compressed with Dean Edward's packer \w High ASCII compression - packer-(safari 2.0.4) : compressed with Dean Edward's packer \w Normal compression - ultra : memtronics version compressed again with my custom compressor. Gzipped > The "gzipped" folders contain the gzipped forms of all the scripts in the current folder. Realistically, I would stick to the gzipped "nowhitespace" versions. They have no js compression, which means no startup delay. They are also the smallest file size (Prototype 1.5 final is 13kb). To load gzipped files you need to go through a server side language such as PHP. Some have used the .gz file directly but that's not universally supported. * Andrea Giammarchi has created a great GzOutput.class for PHP 5. * Use in conjunction with the nowhitespace js versions to get the best of the gzipped goodness. * http://www.devpro.it/php5_id_145.html * http://webreflection.blogspot.com/ Example usage: Good: <script type="text/javascript" src="gz.php?src=prototype"></ script> Bad: <script type="text/javascript" src="prototype.gz"></script> If you use the js "None High ASCII" compressed files usage is like a normal js file: <script type="text/javascript" src="prototype.js"></script> If you use the js "High ASCII" compressed files then usage is: <script type="text/javascript" src="protopacked.js? load=prototype.js,prototype_alt.js"></script> OR <script type="text/javascript" src="protopacked.js?load=gz.php? src=prototype,gz.php?src=prototype_alt"></script> Safari 2.0.4/Omniweb 5.5.4 have a bug in them that causes certian "High ASCII" text in eval()'s to error out. For example: eval('if(/"/.¡(""));'.replace(/¡/g,'test')); To solve this issue I created a loader, 'protopacked.js', that detects if the browser supports "High ASCII". If it does it loads the first High ASCII file, if not it loads the second None High ASCII file. The loader is only 389bytes (less than half of 1kb). The loader supports any filename in the same directory as itself. Filenames are separated by a ',' (2 files are required, no spaces between the ,'s) I believe the bug is isolated to applications built around the webkit version at the time. Nightly builds of webkit have been tested successfully as far back as Sept of 06. High ASCII encoded files: custom memtronics packer ultra Non High ASCII encoded files: original formatted nowhitespace packer-(safari 2.04) Tested successfully on: win: opera 9.10 firefox 2.0.0.1 ie 7.0 ie 6.0.2 ie 5.5 mac : firefox 1.5.01 firefox 2.0.0.2 camino 1.0.4 opera 9.1 omniWeb 5.1.3 safari 1.3.2 safari 2.0.2 webkit 2.0.4 (nightly build) safari 2.0.4 (limited support) omniweb 5.5.4 (limited support) Tested unsuccessfully on: win: ie 5.1 mac : ie 5.2 opera 6.3 safari 2.0.4 (High ASCII) omniweb 5.5.4 (High ASCII) Troubleshooting: If you have issues with the compressed custom/memtronics/ultra files, try using the charset "iso-8859-1" <script type="text/javascript" charset="iso-8859-1" src="prototype.js"></script> Interesting note: The gzipped ultra compressed files are actually bigger than the gzipped regularly compressed files. Safari doesn't like Dean Edward's "Packer" when it removes the semicolons after a "throw". I had to add those back to all the encodings. Safari didn't like prototype-1.5.0_rc0's "if(!HTMLElement..." so I had to change it to "if(!window.HTMLElement...". Other/Thanks: Prototype.lite.js : http://moofx.mad4milk.net/#prototype Dean Edwards Packer : http://dean.edwards.name/packer/ Memtronics Compressor : http://hometown.aol.de/_ht_a/memtronic/MemTronic_CruncherCompressor.html ultraCompressor : Custom Thanks to Dean Edwards, Prototype Dev Team, and others who have helped me. History; v2.0d - name changed to "protopacked". added support for safari 2.0.0.4 and variants confirmed ie 7 support confirmed camino support added link to Andrea Giammarchi's GzOutput.class for PHP 5 v2.0c - added Prototype 1.5.1rc2 to the package. added link to WinMerge (used to quickly format new releases) v2.0b - fixed issues with Safari and added a "no white-space" version for each. v2.0a - removed the charset "iso-8859-1" from the examples and remove the emphasis on it. v2.0 - added dean edwards packer to the compressed files. added more links v1.0 - initial release --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype: Core" group. To post to this group, send email to prototype-core@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/prototype-core?hl=en -~----------~----~----~----~------~----~------~--~---