2011-08-16 9 views
2

Google Doubleclick広告を使用するHTML5アプリを構築しています。アプリの99%が動的にJSで構築されていますが、広告はそのようなHTMLにハードコーディングされています。必要に応じてマニフェストファイルで動作しないDoubleClick Ads

<script type='text/javascript' src='http://partner.googleadservices.com/gampad/google_service.js'></script> 
<script type='text/javascript'> 
GS_googleAddAdSenseService("ca-pub-3664602748600160"); 
GS_googleEnableAllServices(); 
GA_googleAddSlot("ca-pub-3664602748600160", "125x125"); 
GA_googleAddSlot("ca-pub-3664602748600160", "250x250"); 
GA_googleAddSlot("ca-pub-3664602748600160", "160x600"); 
GA_googleAddSlot("ca-pub-3664602748600160", "468x60"); 
GA_googleFetchAds(); 
</script> 

<div id="ads" style="float:right;"> 

<div id="square" style="visibility:hidden"> 
    <div> 
    <script type='text/javascript'> 
     GA_googleFillSlot("250x250"); 
    </script> 
    </div> 
</div> 

<div id="small_square" style="visibility:hidden"> 
    <div> 
    <script type='text/javascript'> 
     GA_googleFillSlot("125x125"); 
    </script> 
    </div> 
</div> 
<div id="tall_banner" style="visibility:hidden"> 
    <div> 
    <script type='text/javascript'> 
     GA_googleFillSlot("160x600"); 
    </script> 
    </div> 
</div> 

<div id="half_banner" style="visibility:hidden"> 
    <div> 
    <script type='text/javascript'> 
     GA_googleFillSlot("468x60"); 
    </script> 
    </div> 
</div>   

これらの広告は、その後、隠されている/上の様々な広告スポットを埋めるためにシフト生成されたページ。永続アセットをキャッシュするマニフェストファイルを実装したときに、http://partner.googleadservices.com/gampad/google_service.jsファイルをロードできなかったというメッセージが表示されます。これを知って、そのjsファイルのローカルコピーを保存してマニフェストに含めようとしましたが、GA_googleblahlahの呼び出しが未定義であるというエラーが発生しました。このファイルをキャッシュから除外する方法はありますか?

答えて

0

ファイルをキャッシュしない場合は、マニフェストファイルのNETWORK:セクションに追加します。ラインは、ネットワークをマークし

Dive Into HTML5から「オンラインホワイトリスト」 セクションの始まりです。このセクションのリソースはキャッシュされず、オフラインで利用できる ではありません。 (オフラインでロードしようとすると、エラーが発生します)

+0

フィードバックをいただきありがとうございます。ホワイトリストに移動しても、同じGA_googlefillslot()がロードオーダーの問題を指摘するような未定義のメッセージになります。 – Mulberry

2

解決策が見つかりました。キャッシュされた要素を定義した後にネットワーク領域でワイルドカードを使用すると、問題が解決されたようです。私のマニフェストファイルは次のようになります:

CACHE MANIFEST 
CACHE: 
/js/jquery.min.js 
/js/jquery.easing.1.3.js 
/etc 
NETWORK: 
* 

ポインタのBen Pooleに感謝します。

関連する問題