Работа с новым окном JS

181
03 июля 2018, 00:00

Задание такое: Написать программу, которая при выборе определенной опции изменяет HTML и CSS страницы. Написать ее у меня получилось, но нужно чтобы дополнительно открывалось новое окно браузера (функция windOpener) и в нем дублировался результат, это у меня никак не получается.

 <!DOCTYPE html>
    <html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>10.1 Окна</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <link rel="stylesheet" type="text/css" href="css/reset.css">    
    <script src="js/helper.js"></script>
    <script src="js/script.js"></script>
</head>
<body>
    <form class="mainform" name="line_form">
        <h2>Создать страничку</h2>
        <fieldset class="wrapper">
            <legend>Настройки:</legend>
            <div class="row">
                <p class="label">Авторы:</p>
                <select id="authors" name="authors" id="select">
                    <option value="" id="Cha">Чарльз Буковски</option>
                    <option value="" id="Ray">Рэй Брэдбери</option>
                    <option value="" id="Jor">Джордж Оруэлл</option>
                    <option value="" id="Yel">Уильям Берроуз</option>
                    <option value="" id="Ste">Стивен Кинг</option>
                </select>
            </div>
            <div class="row">
                <p>Коментарий:</p>
                <input id="comment" type="text">
            </div>

            <div class="row">   
                <p class="label">Фон:
                    <label><input type="radio" id="light">Светлый</label>
                    <label><input type="radio" id="Dark">Темный</label>
                    <label><input type="radio" id="Night">Ночной</label>
                </p>
                <p class="label">Шрифт:
                    <label><input id="ch1" type="checkbox">Курсив/Нет</label>
                    <label><input id="ch2" type="checkbox">Жирный/Нет</label>
                    <label><input id="ch3" type="checkbox">Подчеркивание/Нет</label>
                </p>
            </div>
            <div class="row">
                <input class="btn" type="button" onclick="view()" value="Показать">
                <input class="btn" type="reset" onclick="qwe()" id="res" value="Очистить">
            </div>
        </fieldset>
    </form>
    <p id="hereComment"></p>
    <div id="result">
    </div>
</body>
</html>


 function view() {
    // Фон ================================================
    function setBackground() {
    if (document.getElementById('light').checked == true) {
        document.getElementById('result').style.backgroundImage = 'url(images/bg1.jpg)';
    }       
    if (document.getElementById('Dark').checked == true) {
        document.getElementById('result').style.backgroundImage = 'url(images/bg2.jpg)';
    }       
    if (document.getElementById('Night').checked == true) {
        document.getElementById('result').style.backgroundImage = 'url(images/bg3.jpg)';
    }
    }       
       //Фотографии ================================================
    function setPhoto(){
    if (document.getElementById('Cha').selected == true) {
        document.getElementById('result').innerHTML = "<img src='images/wr1.jpg'>";
    }   
    if (document.getElementById('Ray').selected == true) {
        document.getElementById('result').innerHTML = "<img src='images/wr2.jpg'>";
    }   
    if (document.getElementById('Jor').selected == true) {
        document.getElementById('result').innerHTML = "<img src='images/wr3.jpg'>";
    }   
    if (document.getElementById('Yel').selected == true) {
        document.getElementById('result').innerHTML = "<img src='images/wr4.jpg'>";
    }   
    if (document.getElementById('Ste').selected == true) {
        document.getElementById('result').innerHTML = "<img src='images/wr5.jpg'>";
    }
    }
    // Текст ================================================
    var comment = document.getElementById('comment').value;
    function commentWrite(){
    document.getElementById('hereComment').innerHTML = comment;
    document.getElementById('hereComment').style.fontStyle = 'normal';
    document.getElementById('hereComment').style.textDecoration = 'none';
    if (document.getElementById('ch1').checked == true) {
        document.getElementById('hereComment').style.fontStyle = 'italic';
    }   
    if (document.getElementById('ch2').checked == true) {
        document.getElementById('hereComment').style.fontStyle = 'bold';
    }   
    if (document.getElementById('ch3').checked == true) {
        document.getElementById('hereComment').style.textDecoration = 'underline';
    }
    }
    function windOpener() {
    var newWin = window.open('', '', 'width = 700, height = 700');
    newWin.document.write("<html><head><link rel='stylesheet' type='text/css' href='css/reset.css'><link rel='stylesheet' type='text/css' href='css/style.css'><script src='js/script.js'></script><title> Окошечко</title></head>");
    newWin.document.write("<p id='hereComment'></p><div id='result'></div></body></html>");
    newWin.setBackground()
    newWin.setPhoto()
    newWin.commentWrite()
    }
    setBackground()
    setPhoto()
    commentWrite()
    windOpener()
    }
READ ALSO
Оживить сайт. Подбор плагина

Оживить сайт. Подбор плагина

Выкладываю скрин макетаНеобходимо сделать так, чтобы блоки вращались по кругу как показано на макете

181
Почему в javascript нельзя писать условия if через &ldquo;a === (b || c)&rdquo;

Почему в javascript нельзя писать условия if через “a === (b || c)”

В общем заголовок вопроса полностью исчерпывающийПросто хочу понять, почему в javascript нельзя писать условия if через "a === (b || c)", типа:

160
Как оптимизировать метод для работы с разными файлами?

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

Есть метод для добавления пар ключ - значение в проперти файл словаря, дело в том, что я не знаю как его сделать универсальным, те

185
Не заполняется поле &ldquo;Дата рождения&rdquo; в Selenium Web driver

Не заполняется поле “Дата рождения” в Selenium Web driver

Не заполняется поле "Дата рождения" при запуске тест passed, сделал проверку на заполнение полей, выдает асертЭлемент находит, но почему-то пропускает...

153