Javascript: ouvrir une nouvelle page dans la même fenêtre

y a-t-il un moyen facile de modifier ce code pour que l'URL cible s'ouvre dans la même fenêtre?

<a href="javascript:q=(document.location.href);void(open('http://example.com/submit.php?url='+escape(q),'','resizable,location,menubar,toolbar,scrollbars,status'));">click here</a>``
56
demandé sur 55skidoo 2008-11-06 08:13:58

7 réponses

le second paramètre de la fenêtre .open() est une chaîne de caractères représentant le nom de la fenêtre cible.

mettez-le à:"_self".

<a href="javascript:q=(document.location.href);void(open('http://example.com/submit.php?url='+escape(q),'_self','resizable,location,menubar,toolbar,scrollbars,status'));">click here</a>



Note: La question suivante donne un aperçu d'une meilleure façon de lier les gestionnaires d'événements aux liens HTML.

Quelle est la meilleure façon de remplacer les liens avec js fonctions?

70
répondu keparo 2017-05-23 11:55:05
<script type="text/javascript">
window.open ('YourNewPage.htm','_self',false)
</script>

voir référence: http://www.w3schools.com/jsref/met_win_open.asp

73
répondu parwaze 2011-08-24 20:21:28
<a href="javascript:;" onclick="window.location = 'http://example.com/submit.php?url=' + escape(document.location.href);'">Go</a>;
7
répondu Stephen Walcher 2008-11-06 05:27:59

essayez cela, il a travaillé pour moi dans ie 7 et ie 8

 $(this).click(function (j) {
            var href = ($(this).attr('href'));
            window.location = href;
            return true;
3
répondu Valentine Nzekwe 2011-07-19 13:26:06

voici ce qui a fonctionné pour moi:

<button name="redirect" onClick="redirect()">button name</button>
<script type="text/javascript">
function redirect(){
var url = "http://www.google.com";
window.open(url, '_top');
}
</script>
3
répondu Felceris Juozas 2016-03-23 08:13:27

je prendrais ça un peu différemment si j'étais vous. Changez le lien texte lorsque la page se charge, pas sur le clic. Je vais donner l'exemple dans jQuery, mais il pourrait facilement être fait dans JavaScript vanille (bien que, jQuery est plus agréable)

$(function() {
    $('a[href$="url="]')    // all links whose href ends in "url="
        .each(function(i, el) {
            this.href += escape(document.location.href);
        })
    ;
});

et écrivez votre HTML comme ceci:

<a href="http://example.com/submit.php?url=">...</a>

les avantages de cela sont que les gens peuvent voir ce qu'ils cliquent sur (le href est déjà défini), et il supprime le javascript de votre HTML.

tout cela dit, il semble que vous utilisez PHP... pourquoi ne pas ajouter à côté serveur?

1
répondu nickf 2008-11-06 06:24:48

donc en ajoutant L'URL à la fin du href, chaque lien s'ouvrira dans la même fenêtre? Vous pouvez aussi probablement utiliser _BLANK dans le HTML pour faire la même chose.

1
répondu Brett Melton 2012-11-28 06:25:42