2010-08-16 4 views
5

J'ai ce code dans mon HTML:URL d'affichage de la page Web actuelle (dynamique) en HTML

<h3 id="left">Lorem Ipsum </h3> 

       <h3 id="right">[Current URL Here]</h3> 

Je veux afficher (dynamicly) l'URL actuelle dans les <h3> balises. J'ai essayé de comprendre pour quelques jours, mais je suis vraiment un développeur mobile, pas un développeur HTML, donc cela s'est avéré difficile. J'en ai besoin pour une application sur laquelle je travaille, alors s'il vous plaît allez-y doucement :)

Merci d'avance.

Répondre

9
document.getElementById('right').innerHTML = window.location.href; 
+0

me devança :) – Sphvn

+0

....... même :) – vol7ron

2

Eh bien, vous ne pouvez tout simplement pas le faire en HTML pur.

Avec javascript, vous pouvez aller avec

<h3 id="right"> 
<script type="text/javascript"> 
document.write(location.href); 
</script> 
</h3> 

Sinon, si vous demandez une page sur le serveur, vous devriez plutôt avoir fait cela là-dedans.

+2

javascript est de MooGoo un moyen plus propre de gérer cela. –

0

le code php pour obtenir url complète de la page en cours se présente comme suit

<?php 

    $protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http'; 

    echo $protocol.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
?> 

Reference

si vous souhaitez utiliser javascript utiliser la méthode proposée par @MooGoo

pleine utilisation de cette le script est le suivant:

<SCRIPT LANGUAGE="JavaScript">   
    document.getElementById('right').innerHTML = window.location.href;  
</SCRIPT> 

est après que vous avez déclaré/défini <h3 id="right">[Current URL Here]</h3>

espoir utile

+0

-1 pour ne pas mentionner à un newb qu'ils devraient sortir '$ _SERVER ['REQUEST_URI']' par 'htmlspecialchars'. Voir ici: http: //stackoverflow.com/questions/3446459/what-is-the-benefit-of-using-the-super-global-serverphp-self-in-php/3446566#3446566 Les mêmes principes s'appliquent. – aaronasterling

2

Si vous voulez le faire en PHP, il est un peu plus impliqué:

$url = !empty($_SERVER['HTTPS']) ? 'https://' : 'http://'; 
$url .= $_SERVER['HTTP_HOST'] . htmlspecialchars($_SERVER['REQUEST_URI']); 

Comme aronasterling des points, vous devez aseptiser $_SERVER['REQUEST_URI'] à empêcher XSS.

-1

Alors que le JavaScript sont ce qui est plus fréquent, vous pouvez également utiliser Server-Side Includes:

<h3 id="right"> 
    <!--#echo var="SERVER_NAME" -->/<!--#echo var="DOCUMENT_URI" --> 
</h3> 
  • au lieu de SERVER_NAME vous pouvez essayer HTTP_HOST
  • au lieu de DOCUMENT_URI vous pouvez essayer REQUEST_URI; on inclut la chaîne de requête, l'autre n'a pas
+0

-1 voir mon commentaire sur toutes les autres réponses dans ce fil qui implique PHP. – aaronasterling

+0

@aaronasterling: Lit la différence entre 'DOCUMENT_URI' et' REQUEST_URI'. Si Asker voulait éviter XSS, il devrait utiliser celui qui convient. Si asker se trouve sur un intranet ou utilise la page pour un usage personnel, XSS n'est pas une menace. – vol7ron

+0

C'est pourquoi les gens devraient avoir à soumettre un CV avant la capacité de vote donnée – vol7ron

-1

code Php:

function curPageURL() { 
$pageURL = 'http'; 
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
$pageURL .= "://"; 
if ($_SERVER["SERVER_PORT"] != "80") { 
    $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
} else { 
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
} 
return $pageURL; 
} 

<h3 id="right">echo curPageURL();</h3> 
+0

-1 voir mon commentaire réponse srinivas. – aaronasterling

0
<script type="text/javascript"> 
var segments = window.location.pathname.split('/'); 
var toDelete = []; 
for (var i = 0; i < segments.length; i++) { 
    if (segments[i].length < 1) { 
     toDelete.push(i); 
    } 
} 
for (var i = 0; i < toDelete.length; i++) { 
    segments.splice(i, 1); 
} 
var filename = segments[segments.length - 1]; 
console.log(filename); 
document.write(filename); 
</script> 
Questions connexes