L'une des fonctions les plus importantes de javascript est de déclencher des gestionnaires de clics à la volée. J'ai trouvé le mécanisme suivant plus fiable que l'utilisation de location.href=''
o location.reload()
o window.open
:
// this function can fire onclick handler for any DOM-Element
function fireClickEvent(element) {
var evt = new window.MouseEvent('click', {
view: window,
bubbles: true,
cancelable: true
});
element.dispatchEvent(evt);
}
// this function will setup a virtual anchor element
// and fire click handler to open new URL in the same room
// it works better than location.href=something or location.reload()
function openNewURLInTheSameWindow(targetURL) {
var a = document.createElement('a');
a.href = targetURL;
fireClickEvent(a);
}
Le code ci-dessus est également utile pour ouvrir un nouvel onglet/fenêtre et contourner tous les bloqueurs de pop-up ! !! Par exemple
function openNewTabOrNewWindow(targetURL) {
var a = document.createElement('a');
a.href = targetURL;
a.target = '_blank'; // now it will open new tab/window and bypass any popup blocker!
fireClickEvent(a);
}
0 votes
Vous pourriez vouloir vérifier ceci poste pour comprendre les différences entre les méthodes proposées ci-dessous, comme
_self
y_top
quel "sosie".