私は多くの画像と遅延ロードされている場合にはより良く動作する他のコードを持つページを持っています。javascriptを使用しているユーザーのコンテンツを遅延ロードするにはどうすればよいでしょうか?
私はnoscriptタグでこれをやろうとしていましたが、IEで正しく動作していないことに気付きました。私がテストした他のすべてのブラウザ(ff、opera、chrome、safariなど)で動作するので、少し不満です。
ちょっとしたテクニックを使っていてかなり頻繁にIEをテストしているので、実際にIEで作業していたのは確かです。しかし、今は動作しません。 Googleはそれが決して働かないことを示唆しているようだ。ここで
は私がしようとしていたかを示しているコピー&ペーストするための簡単な例です。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>lazy load with noscript</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<noscript>
<div>
<p>other content here</p>
<img src="http://www.google.com/images/logos/ps_logo.png" alt="lazy loading image test" />
</div>
</noscript>
<noscript>
<div>
<p>other content here 2</p>
<img src="http://www.google.com/images/logos/ps_logo2.png" alt="lazy loading image test 2" />
</div>
</noscript>
<script type="text/javascript">
var html = $("noscript:first").text();
alert(html);
$("body").append(html);
</script>
</body>
</html>
JavaScriptを使用してユーザーに使用HTMLとJavaScriptなしでは同じです。 jqueryを使用してコンテンツをタブで表示しやすくするだけです。コンテンツはjavascriptでタブ付けされているため、タブが開いたときに読み込みを遅延させる必要があるため、ページにかなりの添付ファイルがある場合に最初にダウンロードするまでに時間がかかりません。
htmlを何度も出力せずにこれを実現するにはどうすればよいですか?
のようなものを使用して、JavaScriptをlazyloadができスクリプトが有効になっている場合、IEはDOMにnoscript要素タグを追加しないことと思われます。参照してください:http://www.tjs.co.uk/blog/a-tale-of-accessibility-internet-explorer-and-the-noscript-tag.htm – Raynos