mpcbridge絡みなのですが、表題の件、いろいろと調べていました。
総合すると、urlからアンカー部分(idでもOK)を取り出して、
$(‘アンカー’).offset().top;
で、座標を取得し、
$(‘html,body’).animate({scrollTop:座標});
でスクロールさせれば良いことはわかりました。
スクロールは、ページ読み込みがすべて完了してからなので、
$(document).ready()
としてで実行していたのですが、OS XのSafariやChromeでは、指定位置へ自動スクロールが動いたり動かなかったりという状況でした。
そして、Nexus 7(初代)、Kindle Fire HD(初代)では、ほぼ100%ダメでした。
htmlがすべて読み込まれ、DOMも解析された状態で実行されていると思うのですが…
結論(というほどの確証はないですが)からすると、
$(document).ready(function(){})
ではなく、
$(function(){setTimeout(function(){},遅延時間);});
で処理させるとうまくいってるようです。