Использование параметров URL для размещения содержимого в div?

Я работаю над страницей выбора. Я хочу, чтобы текущие данные о подписке пользователя отображались вверху страницы. Мой метод помещает контент в div на основе параметров URL. Если параметр не существует, я хочу, чтобы он упал в другой div. См. Код ниже:

<!DOCTYPE html>
<html>

<head>
    <script type = "text/javascript">
        var testSub = '<span>Subscription data</span>';
        if (/testnews=1/.test(window.location.href)) {
            document.getElementById('subscribed').innerHTML = testSub;
        } else {
            document.getElementById('not_subscribed').innerHTML = testSub;
        }
    </script>
</head>

<body>
    <div id = "subscribed"></div>
    <div id = "not_subscribed"></div>
</body>

</html>

Не тестировал, но это уже кажется довольно разумным. Вы можете прояснить, в чем вы застряли?

Pekka 27.03.2018 22:27

Что-то в инструкции if / else у меня не работает. Контент не попадает в div, когда я размещаю его вживую и проверяю URL-адрес с указанным параметром. Если я отброшу предупреждение в операторе if, оно работает нормально, значит, я знаю, что что-то не так в if / else.

Chelsea 28.03.2018 01:43

В частности, я считаю, что эти две строки неверны: document.getElementById ('subscribed'). InnerHTML = testSub; document.getElementById ('not_subscribed'). innerHTML = testSub;

Chelsea 28.03.2018 01:44

Вместо использования регулярного выражения для проверки строки запроса URL-адреса я бы рекомендовал сделать это правильно, фактически проверив значения (например, если testnews = 11 или othertestnews = 1, ваш запрос все равно пройдет). Вы можете использовать что-то вроде URIjs для считывания строки запроса в объект.

Joe Enos 28.03.2018 22:02
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
122
1

Ответы 1

Наконец разобрался в этом. Просто нужно было обернуть мой код функцией загрузки:

    <script type = "text/javascript">
     window.onload = function(){
        var testSub = '<span>Subscription data</span>';
        if (/testnews=1/.test(window.location.href)) {
            document.getElementById('subscribed').innerHTML = testSub;
        } else {
            document.getElementById('not_subscribed').innerHTML = testSub;
        }
    }
    </script>


<body>
    <div id = "subscribed"></div>
    <div id = "not_subscribed"></div>
</body>

</html>

Другие вопросы по теме