1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 00:03:28 +01:00

client-side rewrite: add eval() override, add WB_wombat_ prefixes for location

This commit is contained in:
Ilya Kreymer 2016-12-02 12:11:54 -08:00
parent a8c0ff3c06
commit 5690604556

View File

@ -729,6 +729,10 @@ var wombat_internal = function($wbwindow) {
var abs_url = extract_orig(url);
if (!abs_url) {
abs_url = $wbwindow.WB_wombat_location.href;
}
if (abs_url &&
(abs_url != $wbwindow.WB_wombat_location.origin) &&
!starts_with(abs_url, $wbwindow.WB_wombat_location.origin + "/")) {
@ -2143,6 +2147,18 @@ var wombat_internal = function($wbwindow) {
$wbwindow.Document.prototype.open = new_open;
}
//============================================
function init_eval_override() {
var orig_eval = $wbwindow.eval;
$wbwindow.eval = function(string) {
if (string) {
string = string.replace(/\blocation\b/g, "WB_wombat_$&");
}
orig_eval.call(this, string);
}
}
//============================================
function init_iframe_wombat(iframe) {
var win;
@ -2410,6 +2426,9 @@ var wombat_internal = function($wbwindow) {
// write
init_write_override();
// eval
init_eval_override();
// Ajax
init_ajax_rewrite();