Если страница, которую вы открываете, не имеет того же источника, что и страница, на которой вы это делаете, вы не можете этого сделать. У вас нет доступа к другой странице вообще. (То же происхождение = та же схема [http
, https
], тот же хост, тот же порт.) Это связано с Одинаковой политикой происхождения .
Если страница находится в том же источнике, то вам нужно как минимум дождаться загрузки страницы через обработчик load
или обработчик DOMContentLoaded
:
var newWindow = window.open("URL HERE", '_blank', "toolbar=yes,scrollbars=yes,resizable=yes,width=800,height=800");
newWindow.addEventListener("DOMContentLoaded", function() {
var range = newWindow.document.createRange();
range.selectNode(newWindow.document.getElementsByClassName('msg-info')[0]);
newWindow.getSelection().addRange(range);
newWindow.select();
});
(обратите внимание, чтоэто getElementsByClassName
, а не getElementsClassName
. Или используйте newWindow.document.querySelector('.msg-info')
.)