使用history.js在iframe中的后退按钮
我在RoR做一个项目。 该项目位于iFrame中。 在那个iframe有前进和后退按钮。 当我单击向后按钮时,iframe内容应该返回但不是整个浏览器页面。 我正在使用“ histroy.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(''); $("#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
对象
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); });
干杯!