Что должен получить пользователь, страницу (текст HTML), или ссылку, по которой он должен будет получать страницу? Что он должен вставлять на свой сайт прямо страницу или ссылку, по которой он должен будет получать страницу от вашего сервера?
Просто сгенерить страницу (как текст) и перейти на нее несложно.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" lang="ru">
<meta name="viewport" content="width=device-width, initial-scale=1.0" >
</div>
<a id=link target="_blank" >Открыть новую вкладку</a>
<script>
// Это текст новой страницы
let page=`
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" lang="ru">
<meta name="viewport" content="width=device-width, initial-scale=1.0" >
<style>
h3 {
color:red;
}
</style>
<s`+`cript>
window.onload = function () {
alert ('Вот. Сгенегили, открыли, вывели!')
}
</`+`script>
</head>
<body>
<h3>New page</h3>
Всякое бла-бла-бла<br>
Очень много бла-бла-бла<br>
Опять бла-бла-бла<br>
</body>
</html>
`; // конец текста сраницы
// По клику на <a> формируем ему href
document.getElementById('link').addEventListener('click', function () {
let blob = new Blob([page], {type : 'text/html'});
this.href = window.URL.createObjectURL(blob)
})
</script>
</body>
</html>
(С тегами <script></script> приходится поступать так. Иначе они распознаются парсером html как часть текущей страницы, а не как часть строки)
Но если нужна ссылка, то надо сгенерить URL в виде GET запроса к серверу со всеми параметрами. И давать ее