在 iFrame 中显示父历史
display parent back history in iFrame
我想在我页面的 iframe 中显示用户以前访问过的页面。例如:如果一个用户在 cnn.com,然后他们输入 mysite.com 点击我页面上的一个按钮,我是我页面上的 iframe 来显示 cnn.com.
我已经在线阅读了几个解决方案,但 none 已经解决了我的问题。我目前的实现如下:
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>
script.js:
$(document).ready(function(){
$("#button").click(function(e){
document.getElementById("button").style.color = "red";
$("#myIFrame").attr('src', parent.history.back());
});
});
我遇到的问题是,当我单击按钮时,整个页面返回,并且没有显示在 iframe 中。所以在我的示例中,当我单击按钮时,我的整个页面从 mysite.com 变为 cnn.com。我希望父页面保持不变,并且 iframe 在其中加载 cnn.com。
我已经阅读了一些关于历史如何根据加载 iframe 的不同而不同的怪癖,但 none 其中对我有所帮助。
有没有办法做我想做的事?
不,这不是你能做的事。用户浏览历史的内容一般被视为机密;您不能让浏览器向您显示它们。
如果用户通过单击上一页上的 link 导航到您的页面,您可以通过检查 document.referrer
来确定该页面是什么。但是,如果用户手动输入您的页面 URL,则情况并非如此,正如您在问题中所描述的那样。
在任何情况下,像 history.back()
这样的方法都不会 return 一个值;它们使框架导航到其历史记录中的上一页。无法确定此页面是什么,这样做通常会导致您的脚本停止 运行(因为您的页面不再处于活动状态)。
我想在我页面的 iframe 中显示用户以前访问过的页面。例如:如果一个用户在 cnn.com,然后他们输入 mysite.com 点击我页面上的一个按钮,我是我页面上的 iframe 来显示 cnn.com.
我已经在线阅读了几个解决方案,但 none 已经解决了我的问题。我目前的实现如下:
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>
script.js:
$(document).ready(function(){
$("#button").click(function(e){
document.getElementById("button").style.color = "red";
$("#myIFrame").attr('src', parent.history.back());
});
});
我遇到的问题是,当我单击按钮时,整个页面返回,并且没有显示在 iframe 中。所以在我的示例中,当我单击按钮时,我的整个页面从 mysite.com 变为 cnn.com。我希望父页面保持不变,并且 iframe 在其中加载 cnn.com。
我已经阅读了一些关于历史如何根据加载 iframe 的不同而不同的怪癖,但 none 其中对我有所帮助。
有没有办法做我想做的事?
不,这不是你能做的事。用户浏览历史的内容一般被视为机密;您不能让浏览器向您显示它们。
如果用户通过单击上一页上的 link 导航到您的页面,您可以通过检查 document.referrer
来确定该页面是什么。但是,如果用户手动输入您的页面 URL,则情况并非如此,正如您在问题中所描述的那样。
在任何情况下,像 history.back()
这样的方法都不会 return 一个值;它们使框架导航到其历史记录中的上一页。无法确定此页面是什么,这样做通常会导致您的脚本停止 运行(因为您的页面不再处于活动状态)。