如何使用window.open()显示窗口标题?

时间:2011-11-08 14:19:49

标签: javascript title window.open

我想用以下方法打开一个新窗口:

window.open('<myfile>.pdf','my window','resizable,scrollbars');

新窗口打开,但我没有将窗口标题作为“我的窗口”。 可能出现什么问题?

12 个答案:

答案 0 :(得分:31)

如果域名相同,则可以更改新窗口的标题

 <script type="text/javascript">
    var w = window.open('http://localhost:4885/UMS2/Default.aspx');
    w.document.title = 'testing';
 </script>

答案 1 :(得分:8)

这是我的解决方案,请查看:

var myWindow = window.open('<myfile>.pdf','my window','resizable,scrollbars');
myWindow.document.write('<title>My PDF File Title</title>');

希望我能提供帮助。

答案 2 :(得分:5)

这就是我所做的:

    <script type="text/javascript">
    function OpenWindow() {
            var pdf = '<%= "PDFs/13.7/" + ddlLinkValidation.SelectedValue.ToString() + ".pdf" %>';
            var win = window.open('','UATRpt', 'menubar=0,location=0,toolbar=0,resizable=1,status=1,scrollbars=1');

            if(win.document) { 
                win.document.write('<html><head><title>Your Report Title</title></head><body height="100%" width="100%"><iframe src="' + pdf + '" height="100%" width="100%"></iframe></body></html>');
            } 
            return true;
    } 
    </script>

在HTML正文中 <U><A style="cursor: pointer;" onclick="OpenWindow()">Open in New Window</a></U>

答案 3 :(得分:4)

JavaScript“title”参数是要在JavaScript中使用的变量。写在窗口顶部的实际标题通常来自HTML <title>标记,但由于您正在显示PDF,因此您没有。

答案 4 :(得分:3)

如果新窗口有一个文件(例如PDF)作为网址,则页面可能没有“head”标记

您必须在修改/添加标题之前添加一个。

jQuery:

var w = window.open('/path/to/your/file.pdf');// or any url
$(w.document).find('html').append('<head><title>your title</title></head>');

原生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'));

现在,如果要加载的页面很长,您可以添加一个onload watch,然后再添加一个超时。就我而言,我必须这样编码:

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.

答案 5 :(得分:1)

在我的案例中唯一可行的方法就是使用setTimeout这样:

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
    }
}

答案 6 :(得分:1)

以下代码适用于Mozilla Firefox,IE 11和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";

答案 7 :(得分:1)

在新打开的窗口中更改pdf的标题

    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();
        }

<强> ONCLICK

<a onclick="titlepath('your url','what title you want')">pdf</a>

答案 8 :(得分:0)

您可以尝试编写 html 文档:将 pdf url 设置为 iframe 并让标题标签定义页面标题。

var w = window.open();
w.document.write(`<html>
  <head>
    <title>${title}</title>
  </head>
  <body style="margin: 0; padding: 0">
    <iframe src="${pdfInlineUrl}" style="width: 100%; height: 100%; margin: 0; padding: 0; border: none;"></iframe>
  </body>
</html>`);

答案 9 :(得分:0)

const wnd = window.open(url, '_blank');

wnd.onload = function() {
   wnd.document.title = 'YOUR TITLE';
}

答案 10 :(得分:-1)

    var myWindow = window.open('', '', 'width=600,height=400');
    setTimeout(function(){ myWindow.document.title = 'my new title'; }, 1000);

使用chrome 2018

答案 11 :(得分:-1)

您可以尝试捕获该节目的window.onload事件,如下所示:

var w = window.open('https://your_website_url');
var title = 'Your Custom Title';
w.onload = function(){
    w.document.title = title;
};