Открыть окно в JavaScript со вставленным HTML - PullRequest
46 голосов
/ 21 января 2010

Как бы я открыл новое окно в JavaScript и вставил HTML-данные вместо простой ссылки на HTML-файл?

Ответы [ 5 ]

79 голосов
/ 29 сентября 2013

Я бы не рекомендовал вам использовать document.write, как предлагают другие, потому что, если вы дважды откроете такое окно, ваш HTML будет дублирован 2 раза (или больше).

Вместо этого используйте innerHTML

var win = window.open("", "Title", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=200,top="+(screen.height-400)+",left="+(screen.width-840));
win.document.body.innerHTML = "HTML";
33 голосов
/ 21 января 2010

Вы можете использовать window.open , чтобы открыть новое окно / вкладку (в соответствии с настройками браузера) в JavaScript.

Используя document.write , вы можете записать содержимое HTML в открывшемся окне.

16 голосов
/ 21 января 2010

Когда вы создаете новое окно, используя open, оно возвращает ссылку на новое окно, вы можете использовать эту ссылку для записи во вновь открытое окно через его объект document.

Вот пример:

var newWin = open('url','windowName','height=300,width=300');
newWin.document.write('html to write...');
6 голосов
/ 14 мая 2018

Вы можете открыть новое всплывающее окно с помощью следующего кода:

var myWindow = window.open("", "newWindow", "width=500,height=700");
//window.open('url','name','specs');

После этого вы можете добавить HTML, используя либо myWindow.document.write();, либо myWindow.document.body.innerHTML = "HTML";

.Сначала вы создаете новый HTML-файл с любым именем.В этом примере я использую

newFile.html

И обязательно добавьте все содержимое в этот файл, например, загрузочный CDN или JQuery, означает, что все ссылки и сценарии,Затем сделайте div с некоторым идентификатором или используйте ваше тело и дайте ему id.в этом примере я дал id="mainBody" моему тегу newFile.html <body>

<body id="mainBody">

Затем откройте этот файл с помощью

<script>    
var myWindow = window.open("newFile.html", "newWindow", "width=500,height=700");
</script>

и добавьте все, что вы хотите добавить в свойтег тела.используя следующий код

<script>    
 var myWindow = window.open("newFile.html","newWindow","width=500,height=700");  

   myWindow.onload = function(){
     let content = "<button class='btn btn-primary' onclick='window.print();'>Confirm</button>";
   myWindow.document.getElementById('mainBody').innerHTML = content;
    } 

myWindow.window.close();
 </script>

это так просто.

1 голос
/ 31 января 2017

Вы также можете создать страницу «example.html», которая имеет желаемый HTML-код и передать URL этой страницы в качестве параметра window.open

var url = '/example.html';
var myWindow = window.open(url, "", "width=800,height=600");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...