Javascript 在iFrame中显示父回溯历史记录

Javascript 在iFrame中显示父回溯历史记录,javascript,jquery,html,iframe,browser-history,Javascript,Jquery,Html,Iframe,Browser History,我想在我的页面上的iframe中显示用户以前访问过的页面。例如:如果一个用户在cnn.com上,然后他们在mysite.com中键入我页面上的一个按钮,我就是我页面上显示cnn.com的iframe 我在网上读过几个解决方案,但没有一个解决了我的问题。我目前的执行情况如下: index.html: <body> <div> <h1>Welcome to mysite!</h1> <

我想在我的页面上的iframe中显示用户以前访问过的页面。例如:如果一个用户在cnn.com上,然后他们在mysite.com中键入我页面上的一个按钮,我就是我页面上显示cnn.com的iframe

我在网上读过几个解决方案,但没有一个解决了我的问题。我目前的执行情况如下:

index.html:

<body>
        <div>
            <h1>Welcome to mysite!</h1>
            <h3>Click the button to see a site you have previously visited</h3>
            <button id="button">magic</button>
        </div>
        <br>    
        <p>This is a site you visited previously</p>
        <iframe id="myIFrame" height="500px" width="100%" class="netframe" src="example.com"></iframe>

</body>
我遇到的问题是,当我单击按钮时,整个页面都会返回,并且它不会显示在iframe中。在我的例子中,当我点击按钮时,我的整个页面从mysite.com转到cnn.com。我希望父页面保持不变,iframe在其中加载cnn.com

我已经阅读了一些关于历史如何因加载iframe的方式不同而有所不同的怪癖,但这些都没有帮助我


如果有办法做我想做的事?

不,这不是你能做的事。用户浏览器历史记录的内容通常被视为机密;您不能让浏览器向您显示它们

在用户通过单击上一页上的链接导航到您的页面的情况下,您可以通过选中
document.referer
来确定该页面是什么。但是,如果用户像您在问题中所描述的那样手动输入您页面的URL,则不会出现这种情况


在任何情况下,像
history.back()
这样的方法都不会返回值;它们使框架导航到其历史记录中的上一页。无法确定此页面是什么,这样做通常会导致脚本停止运行(因为您的页面不再处于活动状态)。

由于浏览器安全性以及某些网站不允许自己处于框架中,您很可能无法正常工作。我相当肯定浏览器不会允许js读取浏览器的历史记录
$(document).ready(function(){

        $("#button").click(function(e){  
            document.getElementById("button").style.color = "red"; 
            $("#myIFrame").attr('src', parent.history.back());

        });
});