Recorder: Make sure that new origins switch to new tabs

This commit is contained in:
Michael Mintz 2021-10-28 00:14:12 -04:00
parent 2bead9f508
commit 5937b74ef4
1 changed files with 34 additions and 17 deletions

View File

@ -278,23 +278,29 @@ var getBestSelector = function(el) {
return best_selector;
};
var AllAnchorTags = document.getElementsByTagName("a");
for (var i = 0; i < AllAnchorTags.length; i++) {
AllAnchorTags[i].addEventListener('click', function (event) {
rec_mode = sessionStorage.getItem('recorder_mode');
if (rec_mode !== '2' && rec_mode !== '3') {
if (this.origin &&
this.origin != 'null' &&
this.origin != document.location.origin &&
this.hasAttribute('href'))
{
event.preventDefault();
window.open(this.href, '_blank').focus();
}
} else { event.preventDefault(); event.stopPropagation(); }
},
false);
}
function new_tab_on_new_origin() {
var AllAnchorTags = document.getElementsByTagName("a");
for (var i = 0; i < AllAnchorTags.length; i++) {
if (!AllAnchorTags[i].sbset) {
AllAnchorTags[i].sbset = true;
AllAnchorTags[i].addEventListener('click', function (event) {
rec_mode = sessionStorage.getItem('recorder_mode');
if (rec_mode !== '2' && rec_mode !== '3') {
if (this.origin &&
this.origin != 'null' &&
this.origin != document.location.origin &&
this.hasAttribute('href'))
{
event.preventDefault();
window.open(this.href, '_blank').focus();
}
} else { event.preventDefault(); event.stopPropagation(); }
},
false);
}
}
};
new_tab_on_new_origin();
var AllInputTags = document.getElementsByTagName("input");
var AllButtonTags = document.getElementsByTagName("button");
var All_IB_Tags = [];
@ -307,6 +313,17 @@ for (var i = 0; i < All_IB_Tags.length; i++) {
},
false);
}
var SearchInputs = document.querySelectorAll('input[type="search"]');
for (var i = 0; i < SearchInputs.length; i++) {
SearchInputs[i].addEventListener('change', function (event) {
new_tab_on_new_origin();
},
false);
}
var AwayForms = document.querySelectorAll('form[action^="//"]');
for (var i = 0; i < AwayForms.length; i++) {
AwayForms[i].target = '_blank';
}
var reset_recorder_state = function() {
document.recorded_actions = [];