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>``
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?
<script type="text/javascript">
window.open ('YourNewPage.htm','_self',false)
</script>
voir référence: http://www.w3schools.com/jsref/met_win_open.asp
<a href="javascript:;" onclick="window.location = 'http://example.com/submit.php?url=' + escape(document.location.href);'">Go</a>;
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;
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>
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?
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.