diff --git a/pywb/ui/frame_insert.html b/pywb/ui/frame_insert.html index f8821547..da6f37be 100644 --- a/pywb/ui/frame_insert.html +++ b/pywb/ui/frame_insert.html @@ -34,24 +34,56 @@ function make_inner_url(url, ts) } function push_state(url, timestamp, capture_str) { + var curr_href = null; + + if (window.frames[0].WB_wombat_location) { + curr_href = window.frames[0].WB_wombat_location.href; + } + + console.log(curr_href); + console.log(url); + + if (url != curr_href) { + update_status(capture_str); + return; + } + + if (!timestamp) { + timestamp = extract_ts(window.frames[0].location.href); + } + var state = {} - state.outer_url = make_outer_url(url, timestamp); - state.inner_url = make_inner_url(url, timestamp); + state.timestamp = timestamp; + state.outer_url = make_outer_url(url, state.timestamp); + state.inner_url = make_inner_url(url, state.timestamp); + state.url = url; state.capture_str = capture_str; - //if (url == wbinfo.capture_url) { - // return; - //} - window.history.replaceState(state, "", state.outer_url); + update_status(state.capture_str); } function pop_state(state) { update_status(state.capture_str); + window.frames[0].src = state.outer_url; } +function extract_ts(url) +{ + var inx = url.indexOf("mp_"); + if (inx < 0) { + return ""; + } + url = url.substring(0, inx); + inx = url.lastIndexOf("/"); + if (inx <= 0) { + return ""; + } + return url.substring(inx + 1); +} + function update_status(str) { var elem = document.getElementById("_wb_capture_info"); if (elem) {