Вызов функции Javascript на удаленном сервере

#javascript #function #server

#javascript #функция #сервер

Вопрос:

У нас есть некоторый код отслеживания javascript веб-сайта, похожий на Google Analytics.

Мы написали очень большую функцию для выполнения дополнительного отслеживания, но мы не хотим размещать этот код на веб-сайтах.
Мы хотим сохранить ее на нашем сервере, чтобы мы могли вносить глобальные изменения.

Если код находится в файле c:productionfunctionsforms.js ,

Как мне вызвать ее из кода на веб-сайте??

Код находится в теге заголовка веб-сайта, поскольку он взят из MATOMO analytics. На этом этапе я хотел бы вставить строку кода для вызова функции при загрузке веб-страницы

пример кода ниже и где я хотел бы вызвать функцию

     <!-- Matomo -->
    <script type="text/javascript">
      var _paq = window._paq || [];

   *** CALL FUNCTION HERE ***


      _paq.push(['trackPageView']);
      _paq.push(['enableLinkTracking']);
      (function() {
        var u="https://matomo.cloud/";
        _paq.push(['setTrackerUrl', u 'matomo.php']);
        _paq.push(['setSiteId', '62']);
        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        g.type='text/javascript'; g.async=true; g.defer=true; g.src=u 'matomo.js'; s.parentNode.insertBefore(g,s);
      })();
    </script>
    <!-- End Matomo Code -->  

Файл хранится на сервере Azure

Комментарии:

1. Не могли бы вы предоставить информацию о том, что вы пробовали до сих пор, и задать более конкретный вопрос?

2. Вы имеете в виду, что хотите выполнить этот код в браузере? Или вы хотите, чтобы веб-клиенты удаленно вызывали этот код для запуска на сервере? Я бы поставил на первое, но это не очень понятно.

3. Вы говорите о выполнении или управлении версиями?

4. Я хочу вызвать функцию из веб-браузера при загрузке веб-страницы

Ответ №1:

В прошлом проекте. Мы предоставляем этот ресурс с помощью микросервиса.

Я думаю, что это может быть решением. Предоставьте метод с помощью микросервиса.

Полный пример. https://stackblitz.com/edit/js-zqmuwu-example-traking?file=index.js

Это будет ваш микросервис, который загружает ваш файл с помощью вашего метода и через объект доставляет данные, необходимые вашему методу для работы.

 const app = require('express')();
const forms = require('./forms.js');

app.get('/traking', (req, res) => {
  forms(req.query);
  return res.status(201).send('ok');
});

app.listen(3000);
  

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

Пример.

 function traking(params = {}) {
  var url = new URL("https://geo.example.org/api");

  Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));

  fetch(url);
}
  

Это используется на вашей кнопке или ссылке.

 <button onclick="traking({a:3})">Click</button>