PDA

Volledige versie bekijken : Gzip


frankvb
%Europe/Berlin %470 %2009, 12:16
Heeft iemand hier ervaring met het in-/uitschakelen van gzip? Ik was benieuwd of iemand mij hier wat meer over kan vertellen. Ik wil het namelijk uitschakelen voor een bepaalde site.

Dauntless
%Europe/Berlin %483 %2009, 12:36
Huh? Gzip is een compressie formaat. Hoe kan je zo iets uitschakelen voor een website?

frankvb
%Europe/Berlin %538 %2009, 13:55
Het schijnt te kunnen op meerdere manieren. Flash kan namelijk niet omgaan met gzip op bepaalde manieren. Voor mijn eigen voorbeeld heb ik een preloader. Ik gebruik dus bytesTotal en bytesLoaded. Lokaal werkt alles perfect, maar op de server (met gzip erop dus) geeft ie problemen met meerdere browsers. IE geeft aan beide de waarde 0, zodat het percentage geladen de waarde "infinity" krijgt. Firefox geeft beide een gelijke waarde zodat het percentage altijd 100% is.

Het schijnt allereerst te kunnen met .htaccess, ik was alleen benieuwd of het ook met actionscript kan. Anders zal ik het topic ergens anders neerzetten.

Jan
%Europe/Berlin %591 %2009, 15:12
The main thing you need to configure is the line which says “no-gzip dont-vary” also in bold above. This tells apache to not compress certain type of files. I have noticed on some of my sites that swf (flash) files do not work as expected if they are compressed. So if you have swf files in your site, you may want to add |swf right after png.
http://crazytoon.com/2008/05/29/apache-gzip-compression-how-do-i-speed-up-my-website-download-time/

Verder zelf een beetje Googlen. Je vindt het vast. :)

ik was alleen benieuwd of het ook met actionscript kan
Ja, het zou kunnen als je de swf-file binair laadt en dan zelf een gzip deflate script maakt (in AS3) en daarna kan je dan de bytes uit die ontpakte swf laden met loadbytes().

Groeten;
Jan

thedax
%Europe/Berlin %865 %2009, 21:46
Apache2 doesn't allow actionscript to retrieve the size of
the swf which should be loaded: e.bytesTotal - since that doesn't
work, you can work around by defining a var size:Number = 123456789
(the byte amount of the swf-file to be loaded) and set the var in your
counting routine e.bytesLoaded / size


--
Dit is wat ik las en het werkte. Bij mij stond er ook infinity, toen heb ik de bestandsgrootte handmatig ingevuld.

thedax
%Europe/Berlin %864 %2010, 21:44
Even ter verduidelijking voor het oplossen voor het Infinity probleem:

stop();
import flash.display.*;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.*;



this.addEventListener(Event.ENTER_FRAME, loading);

function loading(e:Event):void{

var total:Number = 8973828; // Dit is de grootte van mijn flashbestand in bytes
var loaded:Number = this.stage.loaderInfo.bytesLoaded;

loader_txt.text = Math.floor((loaded/total)*100)+ "%";

// als de tekst gelijk is aan 100%.. dan naar het volgende frame.
if (loader_txt.text == "100%"){
gotoAndPlay(2);
this.removeEventListener(Event.ENTER_FRAME, loading);
}

}

Maar.....


het mooiste antwoord is een .htacces bestand maken in notepad of iets anders en dan zet je dit erin:

Options +FollowSymLinks
RewriteEngine on
RewriteRule \.swf$ - [E=no-gzip:1]

Deze heb ik als bijlage toegevoegd.