La barre de titre d'IE et de tout navigateur actuel devrait à l'origine être contrôlée par la balise HTML <title>, et bien sûr, elle l'est toujours. C'est juste que la tendance actuelle des fantômes est que vous feriez mieux de ne plus actualiser votre page Web, et vous devez alors accepter tout ravage de la part des utilisateurs. C'est la légendaire technologie paradoxale Ajax qui tue des gens sans laisser de trace !
L'affichage d'un titre de page approprié dans la barre de titre du navigateur est une expression professionnelle d'une page Web et est également convivial pour les moteurs de recherche. Bien entendu, il serait également très utile que des informations rapides appropriées soient placées. Alors comment personnaliser « dynamiquement » le contenu du titre ?
Nous savons que nous pouvons utiliser ASP pour modifier dynamiquement le titre du navigateur, ce qui est probablement une déclaration comme celle-ci :
<title><% = GenerateTitle %></title>
Dans ASP.NET 1.1, en plus de continuer à utiliser la méthode ci-dessus, nous en avons une de plus. La "belle" façon de regarder :
dans la page aspx :
<title id="cltTitle" runat="server"></title>
Dans le fichier CS :
protégé HtmlGeneralControl cltTitle ;
.
cltTitle.innerHtml = "birdshome's homepage";
Nous sommes aujourd'hui à l'ère d'ASP.NET 2.0. En plus des deux méthodes ci-dessus, nous pouvons également modifier le contenu de <title> plus facilement :
Page.Title
= "birdshome's homepage" ;
le "dynamique" ci-dessus Le contenu de <title> est modifié côté serveur. En fait, pour le navigateur, le contenu de la balise <title> est complètement corrigé. Revenons au sujet et parlons en détail du contrôle de la barre de titre du navigateur IE sur le client :
Pour les pages de la fenêtre IE, dans l'objet DOM page, l'attribut document.title est utilisé pour remplacer le innerHTML du Élément <title> pour obtenir et définir IE Le contenu de la barre de titre de la fenêtre. Prenons l'exemple suivant :
<html>
<corps>
<!-- contenu de la page -->
<langage de script="javascript">
document.body.onload = fonction()
{
document.title = "page d'accueil de birdshome";
} ;
</script>
</corps>
</html>
Oui, c'est aussi simple que cela de définir la barre de titre d'une fenêtre IE ordinaire. Alors qu'y a-t-il à dire ? À ce stade, et si nous mettions exactement le même code dans la fenêtre modale pour exécution ? La barre de titre de la fenêtre modale sera-t-elle modifiée ? Les résultats de l’expérience ont été frustrants. Le même code a échoué dans la fenêtre modale. Le DOM fourni par la fenêtre modale est-il différent de celui de la fenêtre ordinaire ? En fait, le DOM de la fenêtre modale est le même que celui de la fenêtre ordinaire, mais la différence est qu'une fois la page chargée dans la fenêtre modale, l'attribut document.title deviendra effectivement invalide. C'est pourquoi l'instruction dans l'événement onload de l'exemple de code ci-dessus n'a aucun effet. La façon de résoudre cette limitation est très simple, qui consiste à modifier le document.title avant le chargement de la page. Par conséquent, pour modifier la barre de titre IE dans la fenêtre modale, vous devez utiliser ce code :
<html>.
<corps>
<!-- contenu de la page -->
<langage de script="javascript">
document.title = "page d'accueil de birdshome";
</script>
</corps>
</html>
Ce qui suit est un exemple qui inclut les deux méthodes ci-dessus pour modifier la barre de titre du navigateur. Enregistrez-le en tant que fichier "abc.htm". Ouvrez-le avec IE et vous pourrez voir la différence de manière intuitive :
<html>.
<corps>
<bouton onclick="foo()">
Ouvrir</bouton>
<langage de script="javascript">
document.body.onload = fonction()
{
document.title = "page d'accueil de birdshome (réécriture)" + unescape(H_A0);
};
document.title = "page d'accueil de birdshome (première)" + unescape(H_A0
function foo()
);
{
window.showModalDialog("abc.htm");
}
</script>
</corps>
</html>
Le résultat est que la barre de titre de la fenêtre IE ordinaire passera rapidement de "page d'accueil de birdshome (première)" à "page d'accueil de birdshome (réécriture)", tandis que le titre de la boîte de dialogue modale ouverte en utilisant le bouton Ouvrir sera toujours "la page d'accueil de birdshome (en premier)". À partir de cet exemple, nous pouvons voir que pour une fenêtre IE ordinaire, sa barre de titre peut être modifiée à tout moment pendant la durée de vie de la page. Quant à la barre de titre de la fenêtre modale, on ne peut la modifier qu'avant le chargement de la page (avant le déclenchement de l'événement onload). La boîte de dialogue non modale, ouverte par showModelessDialog, gère la barre de titre exactement de la même manière que la boîte de dialogue modale.
Enfin, parlons d'une technique d'utilisation de document.title. Nous savons que si le titre de la page est modifié "dynamiquement" côté serveur, nous pouvons écrire &nbps; entre les balises <title></title> pour générer des espaces continus. la barre de titre. Entrez l'effet. Cette technique est particulièrement utile dans les fenêtres modales, afin que nous puissions pousser ce texte embêtant "-Web Page Dialog" hors de la barre de titre avec des espaces continus. Après avoir utilisé l'attribut document.title pour modifier la barre de titre de la page, qu'il s'agisse d'une fenêtre normale ou d'une fenêtre modale, " " et " " (espace) ne peuvent pas être utilisés. Le premier sera affiché directement sur la barre de titre comme. une chaîne, et cette dernière Peu importe combien vous ajoutez, elle n'aura que l'effet de largeur d'un " " (espace). Ici, nous devons utiliser un autre espace, entité , pour résoudre ce problème. Le code est le suivant :
<html>
<corps>
<langage de script="javascript">
var HexA0s = "%A0 %A0 %A0 %A0";
document.body.onload = fonction()
{
document.title = "page d'accueil de birdshome (réécriture)" + unescape(HexA0s);
} ;
</script>
</corps>
</html>
http://birdshome.cnblogs.com/archive/2006/06/23/control_browser_title.html