古いバージョンのSafariが壊れていて、image.onloadが正常に動作しません。
それで、私はそれを扱うために、画像がスクリプトによって読み込まれ、そこにいるかどうかテストされたものを使用しました。
簡体字、の線に沿って何か:イメージがロードされ、私たちのGUIでそれらを交換していない私たちがチェックした後の期間
// load the images
var img = new Image();
img.src = "http://whatever/image.jpg";
imageList.push(img);
: : :
// check
pollSafariImages();
// we have a poller to handle Safari as the onerror does not
// return 'this' to the image objects, so we don't know which
// one it was referring to
function pollSafariImages()
{
var loadedCount = 0;
var index;
for (index=0; index<imageList.length; index++)
{
if (imageList[index].bLoaded == true)
{
loadedCount++;
}
else if (imageList[index].complete == true)
{
imageList[index].bLoaded = true;
}
}
if (loadedCount < imageList.length)
{
setTimeout('pollImages()', 250);
}
}
。
私はサファリ・ハックは、少なくとも便利であると思います:)
ONERRORに何かを置くことができ、エラーを報告するサファリを引き起こしているもの。私は、その属性のエラーを処理することができますが、afaictはそれを報告するサファリを停止するjsの方法はありません。 (実際にはjsエラーではない) 同様にif関数を使ったテスト。失敗したテストでは、サファリがエラーを報告する – gcrain