Подставить значение JS к URL

193
07 января 2022, 02:30

Есть следующий код:

<script type='text/javascript'> 
    function lp_pixel_callback(tokens) { 
        document.getElementsByClassName('device_name_1')[0].textContent = tokens.device_name; 
    } 
</script> 
 
<p> 
    Your device is <span class="device_name_1"></span> 
</p>

Данный код выводит значение на странице:

Your device is Desktop

Т.е. ЗНАЧЕНИЕ = Desktop

1) Как это значение добавить к ссылке на странице?

<p><a href="http://site.ru/example/page1.php?a1=123&a2=ЗНАЧЕНИЕ"> Cсылка </a></p>

2) Как это значение добавить к ссылке, в которой уже реализована подстановка параметров через PHP?

<p><a href="<?echo 'https://site.ru/example/page1.php? a1='.$znachenie1.'&a2=ЗНАЧЕНИЕ';?>" Cсылка </a></p>

Спасибо!

Answer 1
  1. Элемент списка

Привет Artemis.

Вообще вариантов много. Смотря что тебе проще будет.

  1. Можно передать данные в js, потом через js вывести типа
var secval = "<?php echo $button; ?>";

а затем ссылку проставить в интерфейс через jquery или js. На подобии

<script language="JavaScript">
//Тут у Вас функция Ваша. В вопросе, Вы сообщили, что успешно получается вывести тип устройства (Эта функция не указана в вопросе, только функция проставления tokens.device_name в поле с классом device_name_1)
//Проще говоря в вопросе Вы пишите, что успешно проставляете тип устройства, но функция получения этого устройства не указана.
//Если у Вас данный код работал, то предполагается, что параметр tokens Вы получаете в других функциях, которые отсутствуют в вопросе.
// Если прям подробно, то функция lp_pixel_callback берёт параметр tokens, в котором содержится device_name.
//Если же у Вас не получается получить сам тип устройства, то это немного другой вопрос.
function lp_pixel_callback(tokens) {
        document.getElementsByClassName('device_name_1')[0].textContent = tokens.device_name;
    }
function secondval() {
    var znachenie2 = tokens.device_name;
    var secval = "<?php echo $znachenie1;?>" + znachenie2;
    alert(secval);
    return secval;
}
</script>
<p> hm <a href="<script>document.write(secondval())</script>">"<script>document.write(secondval())</script>"</a></p>
  1. Можно воспользоваться инструментами jquery или java.
  2. Так же можно обрабатывать параметр или подменять его уже при нажатии через
//var znachenie2 = '123';
location.href = "<?php echo 'https://site.ru/example/page1.php? a1='.$znachenie1.'&a2=';?> + tokens.device_name";
  1. Можно использовать инверсионный вариант от первого предложенного в совокупности с третим
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>640kb</title>
    <script type="text/javascript">
        function lp_pixel_callback(tokens) {
        document.getElementsByClassName('device_name_1')[0].textContent = tokens.device_name;
    }
        window.onload = function(){
            var a = document.getElementsByTagName('a'), i = a.length;
            while(i--){
                a[i].onclick = (function(){
                    return function(){
                        var znachenie2 = tokens.device_name;
                        this.href = this.href + znachenie2;
                        alert(this.href);
                        return false;
                    };
                })();
            }
        };
    </script>
</head>
<body>
<p><a class="123" href="<?php echo 'https://site.ru/example/page1.php? a1=' . $znachenie1 . '&a2='; ?>"> Cсылка </a></p>
</body>
  1. Использовать GET и POST запросы js.

Так что подбирай вариант, который тебе более понятен и комфортен и дерзай ) Удачи!

READ ALSO
Как понять, что присылает подписка Xsi-events АТС Билайн на указанный для нее URL?

Как понять, что присылает подписка Xsi-events АТС Билайн на указанный для нее URL?

Оформлена подписка Xsi-event через PUT запрос в API АТС БилайнВ параметре URL был указан адрес, который принимает POST запросы

228
HTML JS Как задать изначальные значения в indexeddb

HTML JS Как задать изначальные значения в indexeddb

Имеется база данных indexeddb внутри браузераКак задать ей изначальные значения? Например пользователь заходит в первый раз, значения по умолчанию...

276
Как обратиться к элементу из форму?

Как обратиться к элементу из форму?

Генерируемая формаКоличество пунктов неизвестно

110