Set title in the window popup

匿名 (未验证) 提交于 2019-12-03 02:13:02

问题:

Is it possible to set a title in the window popup?

I have this in javascript:

var popup = window.open('......'); popup.document.title = "my title"; 

but this does not work..still can't see any title

EDIT: the page popup is displaying is .aspx and it HAS a title tag, but still can't see that on the popup window..

回答1:

Since popup.onload does not seem to work, here is a workaround: http://jsfiddle.net/WJdbk/.

var win = window.open('', 'foo', ''); // open popup  function check() {     if(win.document) { // if loaded         win.document.title = "test"; // set title     } else { // if not loaded yet         setTimeout(check, 10); // check in another 10ms     } }  check(); // start checking 


回答2:

I was having problems with the accepted answer until I realized that if you open an existing, slow page that already has a <title> the browser will 1) set your title, then 2) once the document fully loads it will (re)set the popup title with the "normal" value.

So, introducing a reasonable delay (function openPopupWithTitle):

var overridePopupTitle = function(popup, title, delayFinal, delayRepeat) {     // https://stackoverflow.com/a/7501545/1037948     // delay writing the title until after it's fully loaded,     // because the webpage's actual title may take some time to appear     if(popup.document) setTimeout(function() { popup.document.title = title; }, delayFinal || 1000);     else setTimeout(function() { overridePopupTitle(popup, title); }, delayRepeat || 100); } var openPopupWithTitle = function(url, title, settings, delay) {     var win = window.open(url, title, settings);     overridePopupTitle(win, title, delay);     return win; } 


回答3:

None of these answers worked for me. I was trying to open a popup with a PDF inside and kept getting permission denied trying to set the title using the above methods. I finally found another post that pointed me in the correct direction. Below is the code I ended up using.

Source: How to Set the Title in Window Popup When Url Points to a PDF File

    var winLookup;     var showToolbar = false;      function openReportWindow(m_title, m_url, m_width, m_height)     {         var strURL;         var intLeft, intTop;          strURL = m_url;          // Check if we've got an open window.         if ((winLookup) && (!winLookup.closed))             winLookup.close();          // Set up the window so that it's centered.         intLeft = (screen.width) ? ((screen.width - m_width) / 2) : 0;         intTop = (screen.height) ? ((screen.height - m_height) / 2) : 0;          // Open the window.         winLookup = window.open('', 'winLookup','scrollbars=no,resizable=yes,toolbar='+(showToolbar?'yes':'no')+',height=' + m_height + ',width=' + m_width + ',top=' + intTop + ',left=' + intLeft);         checkPopup(m_url, m_title);          // Set the window opener.         if ((document.window != null) && (!winLookup.opener))             winLookup.opener = document.window;          // Set the focus.         if (winLookup.focus)                         winLookup.focus();     }      function checkPopup(m_url, m_title) {              if(winLookup.document) {              winLookup.document.write('<html><head><title>' + m_title + '</title></head><body height="100%" width="100%"><embed src="' +m_url + '" type="application/pdf" height="100%" width="100%" /></body></html>');         } else {              // if not loaded yet             setTimeout(checkPopup(m_url, m_title), 10); // check in another 10ms         }     } 


回答4:

Try this, it will work.

var timerObj, newWindow;  function openDetailsPopUpWindow(url) {     newWindow = window.open(url, '', 'height=500,width=700,menubar=no,resizable=yes,scrollbars=yes');     timerObj = window.setInterval("fun_To_ReTitle('~~newTitle~~ ')", 10); }   function fun_To_ReTitle(newTitle){     if (newWindow.document.readyState == 'complete') {         newWindow.document.title=newTitle;         window.clearInterval(timerObj);     } } 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!