iPhone アプリケーションを作成していて、Web ページの読み込みの進行状況を示すプログレス バーを表示する必要があります。このページに JS 関数を挿入したいのですが、それを呼び出すと、ロードの進行状況 (ロードされたバイト数と合計サイズ) が表示されます。これは可能ですか?
ありがとう
iPhone アプリケーションを作成していて、Web ページの読み込みの進行状況を示すプログレス バーを表示する必要があります。このページに JS 関数を挿入したいのですが、それを呼び出すと、ロードの進行状況 (ロードされたバイト数と合計サイズ) が表示されます。これは可能ですか?
ありがとう
いいえ、できません。ページを細かく分割し、ajax リクエストで 1 つずつロードすることでエミュレートできますが、手間をかける価値はないと思います。
別のアイデアは、次のような小さなスクリプトを配置することです
<script>percentage += 10; updateProgressBar();</script>
あなたのページを通して。そのスクリプトは、2 番目のブラウザーがロード (または解析) するときに実行されるため、進行状況を見積もることができます。
Javascript を使用することは不可能だと思います。また、ページが非常に大きい場合を除き、これが必要な理由がわかりません。ページに多数の画像がある場合、これにより、完全に読み込まれた画像の数がわかります。
編集:私はこれを見つけました、それはあなたがしたいようです。
編集2:そして、SOに関するこの回答。
HTML の何パーセントが Safari によってロードされているかをどのように知ることができますか? 私が1.7について知っていることからのJavascriptは、それを決して認識できません。それができれば、Gmail や豊富な Google アプリ用のはるかに洗練されたローダーを使用できるようになります。スクリプトと要素をプログラムで DOM に挿入することにより、非常に大雑把な見積もりを行うことができますが、多くの利益を得るために多くの労力が必要です。
期待できる最善の方法は、最悪のシナリオでページが読み込まれると推定される時間実行されるアニメーション GIF です。または、より簡単な解決策は、スロバー、砂時計、または理髪店の棒を使用することです。
<html>
<head>
</head>
<body>
<script type="text/javascript" type="javascript">
var percent=0;
function curpercent(){
//TODO : show percent : $("#lblpercent").html(percent + "%");
if (percent <=100) {
curpercent();
}
}
curpercent(); //call curpercent function when page download this line, coz, browser always download your page line by line.
</script>
text body 1
<script type="text/javascript" type="javascript">
percent=10;
</script>
text body 2
<script type="text/javascript" type="javascript">
percent=20;
</script>
...
text body 10
<script type="text/javascript" type="javascript">
percent=100;
</script>
</body>
</html>