From e28f29430219b4a26374bf2a18d0128de91607cd Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Tue, 24 May 2016 17:55:17 -0700 Subject: [PATCH] wombat: ensure window.open() rewrite happens even in if open not in prototype rewrite mod: allow empty "" as set mod, check for undefined --- pywb/static/wombat.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pywb/static/wombat.js b/pywb/static/wombat.js index c6d416f3..af280f94 100644 --- a/pywb/static/wombat.js +++ b/pywb/static/wombat.js @@ -1796,19 +1796,22 @@ var wombat_internal = function($wbwindow) { //============================================ function init_open_override() { - if (!$wbwindow.Window.prototype.open) { - return; + var orig = $wbwindow.open; + + if ($wbwindow.Window.prototype.open) { + orig = $wbwindow.Window.prototype.open; } - var orig = $wbwindow.Window.prototype.open; - var open_rewritten = function(strUrl, strWindowName, strWindowFeatures) { - strUrl = rewrite_url(strUrl); + strUrl = rewrite_url(strUrl, false, ""); return orig.call(this, strUrl, strWindowName, strWindowFeatures); } $wbwindow.open = open_rewritten; - $wbwindow.Window.prototype.open = open_rewritten; + + if ($wbwindow.Window.prototype.open) { + $wbwindow.Window.prototype.open = open_rewritten; + } for (var i = 0; i < $wbwindow.frames.length; i++) { try { @@ -2099,7 +2102,7 @@ var wombat_internal = function($wbwindow) { //============================================ function get_final_url(prefix, mod, url) { - if (!mod) { + if (mod == undefined) { mod = wb_info.mod; }