使用history.js在iframe内的后退按钮

2023-12-06

我正在RoR 中做一个项目。该项目位于 iFrame 内。在该 iframe 中有前进和后退按钮。当我单击后退按钮时,iframe 内容应该返回,而不是整个浏览器页面。我在用 ”历史.js“插件。但我不知道怎么用。

我的代码是这样的:

$('#back-btn').on('click', function () {
    History.back();
});

$('#forward-btn').on('click', function () {
    History.forward();
});

$("a").click(function () {
    n = 1;
    q = n++;
    var s = $(this).attr("href");
    var o = 'History.pushState({state:' + q + ',rand:Math.random()}, "State 1", \"' + s + '\");'
    $("#z").empty().append('<button onclick=\'javascript:' + o + '\'>sds</button>');
    $("#z button").click();


    //this is for checking log
    (function (window, undefined) {

        var
        History = window.History, // Note: We are using a capital H instead of a lower h
            State = History.getState(),
            $log = $('#log');

        // Log Initial State
        History.log('initial:', State.data, State.title, State.url);

        // Bind to State Change
        History.Adapter.bind(window, 'statechange', function () { // Note: We are using statechange instead of popstate
            // Log the State
            var State = History.getState(); // Note: We are using History.getState() instead of event.state
            History.log('statechange:', State.data, State.title, State.url);
        });
    })(window);
})

注意:有时我会使用ajax调用。

感谢您的支持。


你可能喜欢使用window.history object

iframe.contentWindow.history.go(-1); // back
iframe.contentWindow.history.go(1);  // forward

所以你的后退按钮可以修改为\

$('#back-btn').on('click', function () {
    iframe.contentWindow.history.go(-1);
                 or
    iframe.contentWindow.history.back(); 
});

并且您的前进按钮可以修改为

$('#forward-btn').on('click', function () {
  iframe.contentWindow.history.forward();
                or
  iframe.contentWindow.history.go(1);
});

Cheers !

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用history.js在iframe内的后退按钮 的相关文章

  • 使用 JavaScript 生成 PDF 文件

    我正在尝试将 XML 数据从网页转换为 PDF 文件 并且希望能够完全在 JavaScript 中完成此操作 我需要能够绘制文本 图像和简单的形状 我希望能够完全在浏览器中完成此操作 我刚刚写了一个名为jsPDF https github
  • 有没有办法将变量从 javascript 导入到 sass 或反之亦然?

    我正在制作一个依赖于块概念的 CSS 网格系统 所以我有一个基本文件 例如 max columns 4 block width 220px block height 150px block margin 10px 它被 mixin 使用 m
  • jQM / jquery-collagePlus 使用问题

    我正在使用 jQM 构建应用程序 并且尝试使用 jquery collagePlus http ed lea github io jquery collagePlus http ed lea github io jquery collage
  • 了解 JavaScript - 资源

    使用 StackOverflow 的微型 Digit Blog 功能进行描述here https stackoverflow com about 我想发布以下我刚刚看到的 我觉得很有趣的谷歌技术谈话视频 我一直在理解 javascript
  • 淘汰赛绑定,每个都可进行自定义

    我这里有一个情况 用于淘汰每个带有定制的绑定 这是我的代码 div div table tbody tr td td td td tr tbody table div div
  • ToggleClass 动画 jQuery?

    我的网站上有一个部分 当用户单击时我希望它展开 我正在使用 jQuerytoggleClass为了这 expandable function e e preventDefault this closest article toggleCla
  • 在管道中重用变量的功能方式

    在 javascript 和 typescript 中与 Ramda 一起使用函数式编程 我经常发现自己编写如下代码 const myFun c gt const myId c id const value pipe getAnotherO
  • 为什么将 x 和 y 设置为 0 时 svg 文本会消失?

    我刚刚开始阅读有关svg我提出了以下问题 我正在创建一个简单的svg with a text里面如下图所示 从我的阅读中我了解到x and y of the text标签声明文本在标签内的位置svg space 为什么当我同时设置x and
  • 在 Fabric.js 中按宽度/高度在另一个画布对象内居中和缩放画布对象

    Goal 将一个对象 水平和垂直 置于另一个对象 矩形或组 的中心canvas via Fabric js或者通过Javascript保持原始对象的长宽比相同 但也不超过父对象的宽度 高度比例 父对象 矩形或组 不会居中于canvas元素
  • Google 地图 API:忽略 DirectionService 请求中的季节性限制

    我目前正在开发一张地图 其中显示两点之间的最短路线 使用不同的交通工具 我注意到 有时 例如在冬季关闭的道路不会被考虑在内 我发现我可以使用方向服务 下面的代码 忽略高速公路 收费站和渡轮 但我一生都无法弄清楚如何 是否可以忽略季节性限制
  • 如何检测元素内容何时发生变化

    我正在寻找一种方法来监视元素内动态填充 无页面重新加载 内容 以便我可以将类添加到另一个元素 到目前为止我有这个 HTML div class message container div class messages error span
  • Jquery 在 DIV 中进行多重加载

    这是我的代码 right load textes html nicolas right load textes html antoine 问题是内容divantoine覆盖了右边div nicolas加载的内容div div right l
  • 禁用特定 div 上的 Tab 键

    我有以下结构 div div Some content div div Some content div div 我想 禁用 div2 上的 tab 键 我的意思是按下 tab 键时 div2 的元素不会获得焦点 有没有简单的方法可以使用
  • 如何处理requireJs超时错误?

    我正在使用 require js 作为加载框架编写一个移动混合应用程序 我遇到加载错误的问题 我想做的是在设备离线且无法下载在屏幕上显示地图所需的 google 地图 API 脚本时设置后备解决方案 我得到的只是 Uncaught Erro
  • 如何为 ApplicationController 中 after_action 过滤器中的所有操作渲染 json?

    是否可以在 Rails ApplicationController 中创建一个 after filter 方法 该方法在每个操作上运行并呈现为 JSON 我正在构建一个 API 并且希望将控制器中的每个操作的输出呈现为 JSON 客户控制器
  • 将rails_admin 与rails_api 结合使用

    我最初将此发布为Rails api GitHub 上的问题 https github com sferik rails admin issues 2617 但由于不活跃 我现在将其发布在这里 我正在尝试使用rails admin使用 Rai
  • MongoDB中如何通过引用字段进行查询?

    我有两个 Mongo 模式 User id ObjectId name String country ObjectId Reference to schema Country Country id ObjectId name String
  • Node.js - 重载函数

    有没有一种方法可以重载node js中的函数 类似于 noSuchMethod https developer mozilla org en JavaScript Reference Global Objects Object noSuch
  • 强制输入数字小数位

    我想强制
  • 在 PHP 中模拟 jQuery.ajax 请求

    我必须在 PHP 中模拟 AJAX 请求 就像在 jQuery 中一样 我当前的代码在这里 原始 AJAX 调用 不得修改 ajax type POST url someFile php data data success function

随机推荐

  • 在 Android 应用程序中创建 Facebook 事件

    我是安卓新手 我只想create我要开发的应用程序中的 Facebook 活动 稍后我会添加邀请好友的功能 我想以通知或任何好的方式显示邀请 我在互联网上做了很多研究 但找不到解决方案 我真的很感激任何解决方案 谢谢你 package co
  • 将文件复制到同一目录中的多个文件夹

    我有一个文件 我们将其命名为 Examples DBF 该文件的位置是C EXAMPLE DBF 现在我想将此文件复制到另一个位置的多个文件夹中 这些文件夹是dated子目录 因此它们被命名为 20140101 20141231 它们的位置
  • 打开和关闭其他 UIViewController - 除了使用协议和委托之外还有其他方法吗?

    从 FirstVC 屏幕中打开另一个屏幕 以便可以再次关闭它的正常方法如下 SecondVC secondVC SecondVC alloc initWithNibName SecondVC bundle nil secondVC dele
  • 无法使用 mongodb 同步打开 Realm

    我无法打开领域 我的设置有问题 这是应用程序中的代码 var configuration user configuration partitionValue user user id configuration objectTypes Us
  • 未找到版本“1.0”的架构“mfp_default_schema”的 ID 为“ADAPTER_CONTENT”的配置

    我正在尝试使用 MobileFirst Foundation 8 0 和 Postgres 9 5 部署带有 Hikari Pool 的 JavaSQL 适配器 部署时 我在日志中收到以下内容 ERROR FWLSE0321 State c
  • 过滤对象数组以保留在平面白名单数组中找到的具有特定属性值的对象

    我有这个多维数组 currencies currencies array 0 gt object array name gt algo fullName gt Algorand 1 gt object array name gt ardr
  • 使用 Mokito 时,实际对象和模拟对象有什么区别?

    在下面的程序中 我尝试使用mockito with junit在我的测试用例中 但我不明白 Mokito 如何帮助我的测试创建对象 我在这里没有看到任何特别的东西 因为看起来 mokito 正在实例化实际的对象 public class T
  • 从多个表中选择数据?

    我有3个表 3个字段都一样 我基本上想从每个表中选择信息 例如 userid 1 我想从所有 3 个表中选择数据 其中userid 1 我目前正在使用 SELECT r p l FROM random r LEFT JOIN pandom
  • 来自 Windows 窗体的 SagePay 集成

    我被要求将 Windows 表单应用程序与 SagePay 集成 以便直接从该应用程序接收付款 SagePay 文档讨论了 ASP NET 所以我不确定这是否可行 有人以前将 WinForm 应用程序与 SagePay 集成过吗 是否可以
  • 方法本地内部类成员范围访问

    如何访问与内部类成员实例或内部类方法局部变量同名的方法变量 class A int a 10 1 public void someMethodA final int a 20 2 class B int a 30 3 public void
  • 使用命令行将库/框架添加到 Xcode 项目?

    我正在寻找一种使用命令行将库添加到 Xcode 项目的方法 我已经成功地将文件添加到组中XCS tool 但它不支持库 例如 我希望能够使用终端上的命令将 CoreVideo framework 添加到特定项目 该项目可以处理框架 http
  • 在android中导出tesseract OCR的HOCR输出

    我尝试使用tess two 适用于 Android 的 Tesseract Tools 的一个分支 我想打开hocr超正方体中的输出 由此link 我尝试设置变量tessedit create hocr确实如此 但我在输出中看不到 hocr
  • 在 Java 中从 FileOutputStream 创建和写入文件

    好的 我正在开发一个项目 在该项目中 我使用 Java 程序来启动两个类之间的套接字连接 一个FileSender and FileReceiver 我的基本想法是FileSender看起来像这样 try writer new DataOu
  • Twilio - 具有 SNI 支持的 TwiML

    当我使用 TwiML 发送命令时 Twilio API TwilioProxy 1 1 在没有 SNI 支持的情况下通过 HTTPS 向我的 Apache 服务器发出请求 我需要阻止非 SNI 客户端 SSLStrictSNIVHostCh
  • 从 TotalCaptureResult 获取 bytes[]

    我使用 Android 中的 Camera2 API 从相机获取 TotalCaptureResults 对象 我使用的是预览 而不是单个图像 有没有办法从 TotalCaptureResults 获取 bytes 谢谢 简短的回答 不 A
  • 在多处理中使用共享数组

    我正在尝试在 python 中运行并行进程 其中我必须根据某些条件从大数组中提取某些多边形 这个大数组有 10k 个已索引的多边形 In a extract polygon我传递的函数 数组 索引 基于索引 该函数必须返回与该索引对应的多边
  • 字符串到颜色 Xamarin.Form

    如何将 xamarin from 中的字符串转换为颜色 没有 Color fromName 方法 string colorStr Blue BoxView objBoxView new BoxView HeightRequest doubl
  • 未找到命令 MCC

    我正在尝试在 Ubuntu 14 04 中使用 Matlab 2013a 创建一个可执行文件 经过一番研究 我理解了以下命令 创建了可执行文件 mcc mv matlabfile m 但是 当我运行此命令时 出现以下错误 No comman
  • 并行处理期间的值存储

    我只是尝试了这个简单的程序 没什么特别的 double a new double 100000 double b new double 100000 List
  • 使用history.js在iframe内的后退按钮

    我正在RoR 中做一个项目 该项目位于 iFrame 内 在该 iframe 中有前进和后退按钮 当我单击后退按钮时 iframe 内容应该返回 而不是整个浏览器页面 我在用 历史 js 插件 但我不知道怎么用 我的代码是这样的 back