Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как в dle значения из js скрипта записать в новую переменную например: [Browsername]?

Как в dle значения из js скрипта записать в новую переменную например: [Browsername]?


     26.05.2020    JavaScript DLE    Общие вопросы, Общие вопросы по вёрстке, Шаблоны (TPL)    740

вопрос
Есть js скрипт, он определяет название браузера и выводит на страницу через id="name Browser". Необходимо значения записать в переменную [Browsername], для дальнейшей обработки в шаблоне.
Сам скрипт:

var nameBrowser = "Неизвестный браузер";
var stringUserAgent = window.navigator.userAgent;
    if (stringUserAgent.indexOf("Chrome") >= 0) 
      nameBrowser = "Google Chrome";
    else if(stringUserAgent.indexOf("Firefox") >=0)
      nameBrowser = "Mozilla Firefox";
    else if((stringUserAgent.indexOf("MSIE") >=0) || (stringUserAgent.indexOf("Trident") >=0))
      nameBrowser = "Microsoft Internet Explorer";
    else if(stringUserAgent.indexOf("Safari") >=0) 
      nameBrowser = "Apple Safari";
    else if(stringUserAgent.indexOf("Opera") >=0)
      nameBrowser = "Opera";
    window.document.getElementById("nameBrowser").innerHTML =nameBrowser;


Подключения скрипта:

<script src="browser.js" type="text/javascript"></script>


Вывод значения:

<p>Имя браузера: <span id="nameBrowser"></span></p>

Ответа пока нет


11 комментариев

леший
Гости

леший - 26 мая 2020 09:40 -

Что Вы подразумеваете под "дальнейшей обработкой в шаблоне"?

Anitub
Юзер

Anitub - 26 мая 2020 10:24 -

Чтобы в шаблоне обрабатывалась как обычная переменная.

леший
Гости

леший - 26 мая 2020 10:30 -

Эм, а мягко говоря зачем? Если можно к любому элементу просто добавить id="nameBrowser" в любом месте шаблона и значение выведется.

dj-avtosh
PHP-developer

dj-avtosh - 26 мая 2020 11:03 -

"я хочу сделать на js, но хочу что бы на серверной стороне было переменной" (с)

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Anitub
Юзер

Anitub - 26 мая 2020 23:10 -

леший,Уважаемый, если я у вас помощи то значит именно так нужно.

леший
Гости

леший - 27 мая 2020 10:36 -

Ну если Вам "именно так нужно" то помощи Вы тут вряд ли дождётесь.

Anitub
Юзер

Anitub - 27 мая 2020 00:15 -

Как вы думаете, такой вариант будет работать?
Заменить:

window.document.getElementById("nameBrowser").innerHTML =nameBrowser;


На:

window.document.getElementById("nameBrowser").innerHTML="{$Browsername}";

леший
Гости

леший - 27 мая 2020 10:47 -

Нет, работать не будет, так как скрипт Вы подключаете в tpl файл, а переменные в DLE формируются в php файлах. PHP выполняется на стороне сервера (и создаёт все переменные) за долго до того как браузер узнаёт, что ему нужно выполнить js скрипт.
Данный скрипт запихнуть в переменную можно, но во первых это не имеет никакого смысла, так как идёт привязка к id и значит переменную можно будит использовать только 1 раз. Во вторых Если так уж нужна переменная, то проще будет определять браузер средствами php и выводить результат в переменную.

Anitub
Юзер

Anitub - 28 мая 2020 03:28 -

Цитата: леший
Если так уж нужна переменная, то проще будет определять браузер средствами php и выводить результат в переменную.


Вот рабочий скрипт на php, как его заставить выводить значение в переменную?

$user_agent = $_SERVER["HTTP_USER_AGENT"];
  if (strpos($user_agent, "Firefox") !== false) $browser = "Firefox";
  elseif (strpos($user_agent, "Opera") !== false) $browser = "Opera";
  elseif (strpos($user_agent, "Chrome") !== false) $browser = "Chrome";
  elseif (strpos($user_agent, "MSIE") !== false) $browser = "Internet Explorer";
  elseif (strpos($user_agent, "Safari") !== false) $browser = "Safari";
  else $browser = "Неизвестный";
  echo "Ваш браузер: $browser";

леший
Гости

леший - 28 мая 2020 06:42 -

Цитата: Anitub
Вот рабочий скрипт на php, как его заставить выводить значение в переменную?

Его не нужно заставлять выводить значение в переменную, это нужно сделать "переменную" заставить брать значение из результата выполнения данного скрипта.
Стол заказов всегда открыт. Если не хотите платить, то открываете нужный php файл (в зависимости от того, где хотите выводить свою переменную) от DLE, смотрите как там сделаны "переменные" и по аналогии прикручиваете к данному коду свою переменную.

Ну и как вариант можно ещё данный код подключать тупо через include
{include file="engine/modules/mymod.php"}

тоже своего рода переменная, только очень длинная ;D

Anitub
Юзер

Anitub - 28 мая 2020 23:41 -

Цитата: леший
тоже своего рода переменная, только очень длинная ;D

Благодарю за попытку помочь.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх