compression_test

函式
compression_test ( No parameters )

compression_test(壓縮測試): 這是一個測試網路伺服器是否支援gzip壓縮的實用函式。它傳送一個帶有”Accept-Encoding”頭的HTTP請求,其中指定了gzip,並檢查響應是否被壓縮。

測試對從PHP壓縮JavaScript的支援。

輸出JavaScript,測試從PHP壓縮是否如預期的那樣工作,並將結果設定為一個選項: 噹噹前使用者不是管理員時沒有影響。要再次執行該測試,必須刪除”can_compress_scripts”選項。

function compression_test() {
	?>
	<script type="text/javascript">
	var compressionNonce = <?php echo wp_json_encode( wp_create_nonce( 'update_can_compress_scripts' ) ); ?>;
	var testCompression = {
		get : function(test) {
			var x;
			if ( window.XMLHttpRequest ) {
				x = new XMLHttpRequest();
			} else {
				try{x=new ActiveXObject('Msxml2.XMLHTTP');}catch(e){try{x=new ActiveXObject('Microsoft.XMLHTTP');}catch(e){};}
			}

			if (x) {
				x.onreadystatechange = function() {
					var r, h;
					if ( x.readyState == 4 ) {
						r = x.responseText.substr(0, 18);
						h = x.getResponseHeader('Content-Encoding');
						testCompression.check(r, h, test);
					}
				};

				x.open('GET', ajaxurl + '?action=wp-compression-test&test='+test+'&_ajax_nonce='+compressionNonce+'&'+(new Date()).getTime(), true);
				x.send('');
			}
		},

		check : function(r, h, test) {
			if ( ! r && ! test )
				this.get(1);

			if ( 1 == test ) {
				if ( h && ( h.match(/deflate/i) || h.match(/gzip/i) ) )
					this.get('no');
				else
					this.get(2);

				return;
			}

			if ( 2 == test ) {
				if ( '"wpCompressionTest' === r )
					this.get('yes');
				else
					this.get('no');
			}
		}
	};
	testCompression.check();
	</script>
	<?php
}

常見問題

FAQs
檢視更多 >