后退按钮来控制iframe
问题描述:
首先,Javascript不是很好。所以如果你有答案,请使用完整的工作脚本。后退按钮来控制iframe
我试图建立一个个人网页,它充当浏览器。 (更大系统的一部分)所以我需要一个后退和前进按钮。发现很多(旧)文章,这些文章都不适合我,而那些工作的人,工作不好。
尝试了很多东西,但我想用一个函数来控制事物。我发现我应该使用history.back()这个东西,并且它在一个直接按钮中为主页面工作了一次。 (似乎无法得到它从一个函数内部工作)
所以这是我到目前为止的代码:
<!DOCTYPE html>
<html>
<body>
<iframe align="center" width="100%" height="20%" src="http://www.google.nl" frameborder=yes scrolling="yes" name="iframe" id="iframe"> </iframe>
<button type="button" onclick="ownBack()">Click me</button>
<script type="text/javascript">
function ownBack() {
var x = document.getElementById('iframe');
var y = (x.contentWindow || x.contentDocument);
y.history.back();
}
</script>
</body>
</html>
* PS:使用最新的Firefox,并得到了“忽略X-框架选项“插件,所以谷歌和所有其他网页应该在iframe中工作。您可能想在测试时更改iframe的网址。
答
你试过了吗?
iframe.contentWindow.history.go(-1);
iframe.contentWindow.history.go(1);
答
错误:
SecurityError: Blocked a frame with origin from accessing a cross-origin frame.
更多关于这一点,在这里解决方法:SecurityError: Blocked a frame with origin from accessing a cross-origin frame
它为我在Chrome中,如果我有选择--disable-web-security
运行它。
是的,试图将它添加到几个位置。没有为我工作。在ownBack函数中添加它,并尝试将其添加到onclick事件中。试用不同的东西来获取iframe数据,所以我可以改变历史。似乎无法得到它的工作。 (根据几个教程,可以使用后退和前进,而不是前往) – Pietertje