私はここにあるクライアントサイトで働いています:http://www.marcusleighcopy.co.uk/about
フラッシュポップアップの後、概要ページが表示されます。画像の下に、私が作成した紹介文があります。実際のデバイスのJSは問題ありませんが、ウィンドウが現在表示されていない場合は、デバイスが何も実行しないようにしたかったのです(奇妙なキューが作成され、フォーカスがウィンドウに戻ったときにすべてが一度に起動されたため)。
とにかく、私は自分のコードを変更してこれを追加しました:(ここの別の質問のように)
if (/*@cc_on!@*/false)
{
// check for Internet Explorer
document.onfocusin = onFocus;
document.onfocusout = onBlur;
}
else
{
window.onfocus = onFocus;
window.onblur = onBlur;
}
そして、私の推薦状のデバイスはそのようなものです:
function onBlur()
{
document.body.className = 'blurred';
};
function onFocus(){
document.body.className = 'focused';
// Testimonial fade in/out
var testimonial_count = $('div.testimonial').size();
if (testimonial_count)
{
var testimonials = [];
$('div.testimonial').each(function(){
testimonials.push($(this));
});
show_testimonials(0);
}
function show_testimonials(currentIndex)
{
testimonials[currentIndex].fadeIn(400);
if ($('body').hasClass('blurred'))
{
return false;
}
setTimeout(function(){
testimonials[currentIndex].fadeOut(400);
if (currentIndex + 1 >= testimonial_count)
{
show_testimonials(0);
}
else
{
show_testimonials(currentIndex + 1);
}
}, 10000);
}
};
SAFARIでは、ウィンドウは最初はフォーカスされていません。Safariをクリックしてから再びクリックすると、お客様の声が期待どおりに表示されます。必要に応じて、ウィンドウでonFocus関数をすぐにトリガーするにはどうすればよいですか?