Je veux ouvrir une nouvelle fenêtre en utilisant:
window.open('<myfile>.pdf','my window','resizable,scrollbars');
La nouvelle fenêtre s'ouvre, mais le titre de la fenêtre ne correspond pas à "Ma fenêtre" . Qu'est-ce qui pourrait mal se passer?
Si le domaine est identique, vous pouvez modifier le titre de la nouvelle fenêtre.
<script type="text/javascript">
var w = window.open('http://localhost:4885/UMS2/Default.aspx');
w.document.title = 'testing';
</script>
Voici ma solution, s'il vous plaît vérifier ceci:
var myWindow = window.open('<myfile>.pdf','my window','resizable,scrollbars');
myWindow.document.write('<title>My PDF File Title</title>');
J'espère pouvoir vous aider.
L'argument "title" de JavaScript est une variable à utiliser dans JavaScript. Le titre réel écrit en haut de la fenêtre provient normalement de la balise HTML <title>
, mais vous ne l'avez pas puisque vous affichez un fichier PDF.
Si la nouvelle fenêtre contient un fichier (PDF par exemple) sous la forme d’une URL, il est possible que la page ne comporte pas de balise "head" .
Vous devez en ajouter un avant de modifier/ajouter le titre.
jQuery:
var w = window.open('/path/to/your/file.pdf');// or any url
$(w.document).find('html').append('<head><title>your title</title></head>');
Native js:
var w = window.open('/path/to/your/file.pdf');// or any url
w.document.getElementsByTagName('html')[0]
.appendChild(document.createElement('head'))
.appendChild(document.createElement('title'))
.appendChild(document.createTextNode('your title'));
Maintenant, si la page est longue à charger, vous pouvez ajouter une surveillance en charge, puis un délai d'attente. Dans mon cas, j'ai dû coder comme ça:
var w = window.open('/path/to/your/file.pdf');// or any url
w.onload = function(){
setTimeout(function(){
$(w.document).find('html').append('<head><title>your title</title></head>');
}, 500);
} // quite ugly hu !? but it works for me.
Le code ci-dessous me convient sur Mozilla Firefox, IE 11 et Google Chrome.
var winUrl = 'target URL that needs to open in new window';
var _newWindow = window.open(winUrl, "_newWindow");
_newWindow.document.title = "My New Title";
La seule façon dont cela a fonctionné dans mon cas a été d'utiliser setTimeout comme ceci:
var mapWin = window.open('', '_blank', ''); // Opens a popup
setWindowTitle(mapWin) // Starts checking
function setWindowTitle(mapWin)
{
if(mapWin.document) // If loaded
{
mapWin.document.title = "Oil Field Map";
}
else // If not loaded yet
{
setTimeout(setWindowTitle, 10); // Recheck again every 10 ms
}
}
Modifier le titre du pdf dans la fenêtre récemment ouverte
function titlepath(path,name){
//In this path defined as your pdf url and name (your pdf name)
var prntWin = window.open();
prntWin.document.write("<html><head><title>"+name+"</title></head><body>"
+ '<embed width="100%" height="100%" name="plugin" src="'+ path+ '" '
+ 'type="application/pdf" internalinstanceid="21"></body></html>');
prntWin.document.close();
}
Sur clic
<a onclick="titlepath('your url','what title you want')">pdf</a>