Как показать заголовок окна с помощью window.open()?

Я хочу открыть новое окно, используя:

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

Откроется новое окно, но я не получу заголовок окна как "мое окно". Что может быть не так?

Ответы

Ответ 1

Если домен такой же, вы можете изменить заголовок нового окна

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

Ответ 2

Аргумент "title" JavaScript - это переменная, которая будет использоваться внутри JavaScript. Фактическое название, написанное в верхней части окна, обычно происходит из тега HTML <title>, но у вас его нет, поскольку вы показываете PDF.

Ответ 3

Вот мое решение, пожалуйста, проверьте это:

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

Надеюсь, что смогу помочь.

Ответ 4

Это то, что я сделал:

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

Ответ 5

Если в новом окне есть файл (например, PDF) в качестве URL-адреса, возможно, что страница не имеет тега "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, а также тайм-аут. В моем случае я должен был сделать такой код:

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.

Ответ 6

Единственный способ, с которым он работал в моем случае, - использовать 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
    }
}

Ответ 7

Ниже код работает для меня в 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";

Ответ 8

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

работает хром 2018