我想设置一个展示不同网站的演示文稿。它使用jQuery动态更改iframe URL自动加载。但是我希望在完成加载每个网站后自动平滑滚动iframe内容到底部。
我的代码是
<html>
<head>
<title>Eximuz</title>
</head>
<body>
<div style="height: auto"><iframe name="ifrm" id="ifrm" src="http://eximuz.com" scrolling="auto" style="border: 0; position:absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%" ></iframe>
</div>
<div id="footer"></div>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
function scroll_to_end() {
var frame = window.frames.ifrm;
var doc = frame.document;
var node = doc.getElementsByTagName('body')[0].lastChild;
var y = parseInt(node.offsetTop, 10);
frame.scrollTo(0, y);
</script>
<script>
var link_arr = ['http://ibellsworld.com','http://worldarchitecturetravel.com'];
function loadIframe(iframeName, url) {
var $iframe = $('#' + iframeName);
if ( $iframe.length ) {
$iframe.attr('src',url);
return false;
}
return true;
}
var i = 0;
var arr_length = link_arr.length;
$('#ifrm').load(function(){
scroll_to_end();
setTimeout(function(){
loadIframe('ifrm', link_arr[i]);
if(i == link_arr.length-1){
i = 0;
}else{
i++;
}
},4000);
});
</script>
</html>
它不能平滑滚动到iframe内容的底部。怎么做?
答案 0 :(得分:0)
你做不到。 您编写脚本,无法在使用iframe加载的页面上运行任何脚本:
http://javascript.info/tutorial/same-origin-security-policy
相关问题:
iframe content from javascript
同样的问题:Back button in an iframe (widget for an iGoogle-like portal)
“...由于您的小部件和页面由于原因而托管在不同的域下,因此您无法通过脚本从iframe访问父页面。”