2009-12-13 27 views
5

tarihinde "Kapatma"Google Kapanışı tüm web sayfama nasıl uygulanır?

http://closure-compiler.appspot.com/home

denilen çok güzel bir JavaScript kompresörü vardır Ama bir HTML dosyası içinde satır içi JavaScript için kullanılacak bir acıdır.

Soru: basitçe "uncompress.html" girişini vermek ve JavaScript yanı sıkıştırılmış tüm satır içi ile bu HTML sıkıştırılmış versiyonunu tükürür nerede bir online aracı var mı?

+2

Hangi sebeplerden dolayı bir HTML dosyası içinde JavaScript satır içi gerekiyor ... HTML aza indirmek için çok ihtiyaç görmedik? –

+2

Hemen çalıştırmak için JS'ye ihtiyacım var. Bu yüzden oruç yapan performans yolu JS inline sahip olmaktır. Ayrıca, bu JS sadece bu tek bir HTML sayfasında kullanılır – NickH

cevap

2

Minifiers, obfuscators ve kompresörler bir sayfa yüklenirken dış unsurları indirme sorunu çözmek için tasarlanmıştır. Normalde sayfanın dışında ayrı bir dosyada tutulduğu için, bunların hiçbiri satır içi JavaScript veya CSS için kullanılmayacaktı.

Yapabildiğiniz kadar gziplemeniz gerektiğinden, gzip'i çalıştırabilen tarayıcılar için, gerçekte inline css/javascript'in sayfada küçültülmemesi önemlidir. PHP kullanıyorsanız

+0

Düşünürdüm ama bir sürü JavaScript var. Sadece JS'imde sadece Closure’ı çalıştırmak JavaScript’imi neredeyse 94 kb gzip’le azaltıyor. Benim JavaScript 400 kb (gzipped) yaklaşıyor, bu yüzden 94 kb gzipli JS kesmek çok fazla satır içi javascript varsa, muhtemelen kendi dosyasında olması gerektiğinden, muhtemelen kendi dosyasında olması gerektiğinden büyük bir – NickH

+1

all.js dosyası. Modern tarayıcılar çok fazla satır içi javascript (sıkıştırılmış) – AutomatedTester

+2

Tanrım 400KB engelleme olurdu şüphe yüzden indirmek için 8 boruları var !!! – micmcg

1

, bu şekilde google derleyici çağrı ve sonra javascript

<?php 
    $script = file_get_contents('http://www.domain.com/scripts/script.js'); 
    $ch = curl_init('http://closure-compiler.appspot.com/compile'); 

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'output_info=compiled_code&output_format=text&compilation_level=SIMPLE_OPTIMIZATIONS&js_code=' . urlencode($script)); 
    $output = curl_exec($ch); 
    curl_close($ch); 

    header('Content-type: application/javascript'); 
    echo $output; 

?> 

link php code

0

Yansıtma AutomatedTester yaptığı yorum gerçekten koymak gerekir dönmek için başlık kullanabilir HTML dosyasına çok fazla inline JavaScript.

Eğer gerçekten nedense bunu yapmak istiyorsanız, neden olamaz:

  1. Kapatma ile sıkıştır JavaScript içeren bir metin dosyası
  2. kopyalayın olun senin <script></script> etiketine

ben bu otomatik değil biliyorum ama sadece t yapmak gerektiğinde sen dağıtıyorken ve her saat başı konuşmuyorsun, değil mi? gzip tipik yeterince iyi bir iş yok çünkü

Ben

İlgili konular