当前位置: 首页 > 面试题库 >

浏览器后退功能会在页面本身之前作用于嵌套的iframe,有没有办法避免这种情况?

陆沈浪
2023-03-14
问题内容

我有一个页面,其中包含一些ajax和许多javascript加载的动态数据。

该页面包含一个列表,用户可以从中进行选择,每个选定的值都将新数据加载到该页面。

这些数据项之一是提供给iframe的网址。

我使用jQuery BBQ:“后退按钮和查询库”来模拟浏览器后退行为。

除了当我第一次单击后退按钮时,iframe都返回到其先前位置,然后需要再次单击以使该页面返回,所有这些都运行良好。

有没有办法禁用iframe的后背行为?


问题答案:

我已经找到了解决我的问题的答案,猜测它可能对其他人很有用。

问题出在我为Iframe分配新URL的方式上,我使用了Jquery,所以它看起来像这样:

$('#myIFrame').attr('src',newUrl);

以这种方式分配URL时,它将在浏览器的已访问URL列表中添加一个新条目以供返回。
这不是理想的行为,因此在进行谷歌搜索之后,我发现您可以将新URL分配给Iframe对象,而无需将其添加到“后备列表”中,如下所示:

var frame = $('#myIFrame')[0];  
frame.contentWindow.location.replace(newUrl);

这样我的后退按钮的行为就完全符合预期了。

顺便说一句,我从这里得到了答案。

希望这对您和我都有所帮助。



 类似资料:
  • 问题内容: 有没有办法在Java中嵌入浏览器? 问题答案: http://docs.oracle.com/javafx/2.0/webview/jfxpub-webview.htm

  • 在这种情况下是否可以避免ArrayIndexOutOfBoundsException??

  • 问题内容: 我正在寻找没有浏览器的Javascript编程。我想从Linux或MacOSX命令行运行脚本,就像我们运行任何其他脚本语言(ruby,PHP,Perl,Python …)一样 我研究了spider monkey(Mozilla)和v8(Google),但它们似乎都是嵌入式的。 是否有人将Javascript作为脚本语言从命令行执行? 如果有人好奇,为什么我期待到这一点,我一直在关注着N

  • 问题内容: 例如,是否有可能完全忽略CSS规则,而不管它包含的是什么? 问题答案: 不,如果没有,这是(很难)的。 您将必须为此重置所有现有的CSS规则: 虽然困难且永远不会100%可靠,但通过这种方式可能会获得可用的结果。您可以查看像EricMeyer一样的“重置样式表”之一,以获取要重置的重要属性的列表。这里声称是CSS2.1属性的完整列表-不包括CSS 3和特定于供应商的属性,您也必须考虑这

  • 我正在学习JavaEE。我正在掌握CDI、依赖和上下文注入。现在看起来并不难。 现在我想试着写一些代码。我安装了NetBeans(安装了GlassFish和其他东西),现在有点卡住了。 我的书(冈萨尔维斯的《Java EE 7入门》)有一个很好的简单例子,演示了EJB和上下文/依赖注入、注释、拦截器、生产者等...在书中,他只是写了自己需要的代码,添加了bean.xml,这就是is。他使用mave

  • 好的,所以我有一个小问题,扫描器前进了一条额外的线。我有一个文件,其中有许多行包含整数,每行由一个空格分隔。文件中的某个地方有一行没有整数,只有单词“done”。当发现完成时,我们退出循环并打印出小于每行中每个给定整数的最大素数整数(如果整数已经是素数,则不对其进行任何处理)。我们一直这样做,直到“完成”为止。 我的问题:假设文件包含6行,第6行是完成这个词。我的输出将跳过第1、3和5行。它只会返