window が iframe の場合、jQuery の scrollTop は null を返します。iframe の scrollTop を取得する方法を理解できた人はいますか?
より詳しい情報:
私のスクリプトはiframe自体で実行されており、親ウィンドウは別のドメインにあるため、iframeのIDなどにアクセスできません
window が iframe の場合、jQuery の scrollTop は null を返します。iframe の scrollTop を取得する方法を理解できた人はいますか?
より詳しい情報:
私のスクリプトはiframe自体で実行されており、親ウィンドウは別のドメインにあるため、iframeのIDなどにアクセスできません
iframe 内で scrollTop を SET しようとしているときにこの質問を見つけました...正確にはあなたの質問ではありません (GET したかったのです)。
ページの一番上までスクロールしたい場合、これはiframe 内では機能しません:
$("html,body").scrollTop(0);
ただし、これは機能します。
document.getElementById("wrapper").scrollIntoView();
またはjQueryと同等:
$("#wrapper")[0].scrollIntoView();
このマークアップ (iframe 内に含まれる) の場合:
<html>
<body>
<div id="wrapper">
<!-- lots of content -->
</div>
</body>
</html>
$('#myIframe').contents().scrollTop()
古き良きJavaScript:
scrollTop = document.getElementById(IFRAME_ID).contentWindow.document.body.scrollTop;
またはこれを使用します
sample.showLoader = function() {
// show cursor wait
document.getElementsByTagName('body')[0].style.cursor = 'wait';
var loader = $('#statusloader');
// check if we're runnign within an iframe
var isIframe = top !== self;
if (isIframe) {
var topPos = top.pageYOffset + 300;
// show up loader in middle of the screen
loader.show().css({
top : topPos,
left : '50%'
});
} else {
// show up loader in middle of the screen
loader.show().css({
top : '50%',
left : '50%'
});
}
};