Технический сбой

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

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


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

вопрос
Есть 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 комментариев

леший
Гости

леший - -

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

Anitub
Юзер

Anitub - -

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

леший
Гости

леший - -

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

dj-avtosh
PHP-developer

dj-avtosh - -

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

По заказам пишем сюда: @Rud00y

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

Anitub
Юзер

Anitub - -

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

леший
Гости

леший - -

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

Anitub
Юзер

Anitub - -

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

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


На:

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

леший
Гости

леший - -

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

Anitub
Юзер

Anitub - -

Цитата: леший
Если так уж нужна переменная, то проще будет определять браузер средствами 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";

леший
Гости

леший - -

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

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

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

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

Anitub
Юзер

Anitub - -

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

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

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

наверх