mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-24 15:09:54 +01:00
client-side rewrite: for rewrite_html(), pre-rewrite problematic tags (FRAME/TD/TH/TR) that are filtered out if standalone, improves #138
This commit is contained in:
parent
64d05aca45
commit
9d86601aab
@ -1415,6 +1415,11 @@ var _WBWombat = function($wbwindow, wbinfo) {
|
||||
string = write_buff + string;
|
||||
write_buff = "";
|
||||
}
|
||||
|
||||
var orig_string = string;
|
||||
|
||||
string = string.replace(/<(\/?)(FRAME|TD|TR|TH)\b/ig, "<$1PYWB_$2");
|
||||
|
||||
var inner_doc = new DOMParser().parseFromString(string, "text/html");
|
||||
|
||||
if (!inner_doc) {
|
||||
@ -1434,11 +1439,8 @@ var _WBWombat = function($wbwindow, wbinfo) {
|
||||
changed = rewrite_elem(inner_doc.all[i]) || changed;
|
||||
}
|
||||
|
||||
if (!changed) {
|
||||
return string;
|
||||
}
|
||||
|
||||
var new_html = "";
|
||||
function get_new_html() {
|
||||
var new_html;
|
||||
|
||||
// if original had <html> tag, add full document HTML
|
||||
if (string && string.indexOf("<html") >= 0) {
|
||||
@ -1464,6 +1466,17 @@ var _WBWombat = function($wbwindow, wbinfo) {
|
||||
return new_html;
|
||||
}
|
||||
|
||||
if (changed) {
|
||||
string = get_new_html();
|
||||
}
|
||||
|
||||
if (string && string != orig_string) {
|
||||
string = string.replace(/<(\/?)PYWB_(FRAME|TD|TR|TH)\b/ig, "<$1$2");
|
||||
}
|
||||
|
||||
return string;
|
||||
}
|
||||
|
||||
//============================================
|
||||
function get_orig_getter(obj, prop) {
|
||||
var orig_getter;
|
||||
|
Loading…
x
Reference in New Issue
Block a user