前端面試之如何獲取一個iframe的scrollTop
阿新 • • 發佈:2018-11-08
前端面試之如何獲取一個iframe的scrollTop
我的指令碼正在執行在iframe本身,父視窗在另一個域,所以我無法訪問iframe的ID或任何類似的
您可以使用此設定設定scrollTop:$("html,body").scrollTop(25);
所以你可以嘗試這樣做:
$("html,body").scrollTop();
因為不同的瀏覽器將scrollTop設定在不同的元素(body或html)上.
從scrollTo外掛:
但是在某些瀏覽器中可能仍然會失敗.以下是Ariel Flesher’s scrollTo plugin for jQuery原始碼的相關部分:
// Hack, hack, hack :) // Returns the real elements to scroll (supports window/iframes, documents and regular nodes) $.fn._scrollable = function(){ return this.map(function(){ var elem = this, isWin = !elem.nodeName || $.inArray( elem.nodeName.toLowerCase(), ['iframe','#document','html','body'] ) != -1; if( ! isWin ) { return elem; } var doc = (elem.contentWindow || elem).document || elem.ownerDocument || elem; return $.browser.safari || doc.compatMode == 'BackCompat' ? doc.body : doc.documentElement; }); };
然後您可以執行:
$(window)._scrollable().scrollTop();
確定iframe向下滾動的距離
本次給大家推薦一個免費的學習群,裡面概括移動應用網站開發,css,html,webpack,vue node angular以及面試資源等。
對web開發技術感興趣的同學,歡迎加入Q群:864305860,不管你是小白還是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時每天更新視訊資料。
最後,祝大家早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峰。