0

Flash Web サイトが読み込まれると、最初のアニメーションの途中で 2 ~ 3 秒間フリーズしてから続きます。これは明らかに見栄えが悪く、何が原因なのかわかりません。これは index.html のスクリプトの 1 つだと考えており、それを修正するためにあらゆる種類の方法を試しました。何が間違っているのでしょうか?

<!DOCTYPE html>
<html lang="en">
<head>
<title>company name</title>
    .
    .
    .
<link href="style.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="js/flashobject.js"></script>

<!--[if lt IE 7]>
<link href="ie6.css" rel="stylesheet" type="text/css" />
<![endif]-->
</head>

<body>
<header>
    <hgroup>
    <h1>company</h1>
    <h2>company</h2>
    </hgroup>
</header>

<div id="container">    
    <div id="head">
        <div class="aligncenter"><a href="http://www.adobe.com/go/EN_US-H-GET-FLASH">
            <img src="http://www.adobe.com/images/shared/download_buttons/get_adobe_flash_player.png" alt="" /></a>
        </div>
    </div>                      
</div>
    <div class="g-plus" data-href="https://plus.google.com/100925740920754223119?rel=publisher" data-width="170" data-height="69" data-theme="light">   

</body>

<!-- Flash -->
<script type="text/javascript">
  var fo = new FlashObject("main_v10.swf", "head", "100%", "100%", "8", "");
  fo.addParam("quality", "high");
  fo.addParam("allowFullScreen", "true");
  fo.write("head");
</script>

<!-- Hello Bar -->
<script type="text/javascript" src="//www.hellobar.com/hellobar.js"></script>
<script type="text/javascript">
new HelloBar(39040,52484);
</script>

<!-- GPlus -->
<script type="text/javascript">
window.___gcfg = {lang: 'en'};
(function() 
{var po = document.createElement("script");
po.type = "text/javascript"; po.async = true;po.src = "https://apis.google.com/js/plusone.js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(po, s);
})();</script>

<!-- Google -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxxxx-1']);
_gaq.push(['_setSiteSpeedSampleRate', 10]);
_gaq.push(['_trackPageview']);
(function init() {
 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') +  '.google-analytics.com/ga.js';
 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga,s);
 })();
  window.onload = init;
 </script>
 </html>
4

2 に答える 2

0

Hello Bar 部分を削除して、何かが変わるかどうかを確認してください。もしそうなら、リンクされたファイルのスクリプトが非常に遅いか、スクリプトが置かれているサーバーが非常に遅いです。また、スクリプトの読み込みと実行がブロックされているため、フリーズの原因である可能性があります。

この場合、script タグの defer 属性または async 属性を試すことができますが、書き直す必要があります。

new HelloBar(39040,52484);

なので

function HelloBar( ) { window.setTimeout( function ( a, b ) { new HelloBar( a, b ); }, 100 ); }
new HelloBar(39040,52484);

このように、スクリプトをロードすると、HelloBar が上書きされ、「ループ」が停止し、スクリプトが正しい値で呼び出されます。

于 2012-04-16T16:40:11.840 に答える
0

これは本当に良い質問ではありません。サーバー、コンピューター、OS、ブラウザー、およびインターネット接続に固有すぎて、一般的な回答を含む質問にはなりません. しかし、ここに私の結果があります:

Windows で Firefox (最新) を使用しています。

私が実行したテストでは、G+ と Adob​​e アイコンの読み込みが遅いです。アドビのアイコンを持ってきて、ローカルサーバーに置くことができると思います。それ以上に、HelloBar と G+ の呼び出しが遅くなる可能性があるため、何らかの遅延の後にこれらのリンクを追加することを検討してください (jQuery などを使用します)。

また、過去に Google アナリティクスの読み込みが遅いという問題がありました。これはまた、HelloBar の機能の一部を複製しているように見えるので、両方の追跡システムが必要かどうかをより詳しく調べたいと思うかもしれません.

問題をより正確に見つけるには、@jimw が提案したものを使用するか、Firefox プラグイン Firebug を使用します (「ネット」タブの「すべて」ボタンを使用して、ロード時間の画像を取得します)。

于 2012-04-11T21:35:47.640 に答える