Список страниц сайта, которые используют определенный файл JS - PullRequest
0 голосов
/ 11 февраля 2019

Цель : Чтобы понять, какие веб-страницы импортировали файл .js , который я написал.Есть ли способ добавить скрипт в мой файл .js, чтобы я мог собирать информацию о сайтах (хотя бы доменное имя)?

Например, сайт X, https://www.x -site.com , имеет этот импорт в своем файле HP.html, где у меня есть NO доступ к.

<script src="https://domain.co/common-files/js/startup.js"></script>

И я хочу, чтобы этот файл startup.js как-то уведомил меня о том, что x-site.com извлекает выгоду из себя.

Первая мысль, которая мне пришла в голову, заключается в том, что я могу просто делать GET-запросы внутри этого JS-файла с параметром для другого HTML-файла, который размещает мой сервер.

Как вы думаете, какой будет лучшая практика для этого?

PS : У меня нет доступа к серверу, на котором размещен файл JS, поскольку используемой платформой является CMS, где я могу просто загрузить ресурсы, в том числе вышеупомянутый файл JS.

PS2 : У меня нет доступа к веб-сайтам, которые используют этот файл JS.

Ответы [ 3 ]

0 голосов
/ 11 февраля 2019

Возможное решение, при котором код в теге body может находиться в вашем startup.js:

<html>
<head>
    <script
            src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.js"></script>
    <script src="https://domain.co/common-files/js/startup.js"></script>
</head>
<body>
<script language="javascript" type="text/javascript">
    var scripts = document.getElementsByTagName("script");
    for (var i = 0; i < scripts.length; i++) {
        var src = scripts[i]['src'];
        if (src && src.indexOf('https://domain.co/common-files/js/startup.js')>-1) {
            // track.php is a empty js file
            document.write('<script src="https://domain.co/track.php?siteUsingMyJs=');
            document.write(window.location.href);
            document.write('"><\/script>');
        }
    }
</script>
</body>
</html>
0 голосов
/ 11 февраля 2019

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

Посмотрите, например, эту документацию Apache .В нем описано, как создавать пользовательские файлы условных журналов.

0 голосов
/ 11 февраля 2019

Создайте службу API на вашем веб-сервере, а затем в событии загрузки файла startup.js вызовите этот API.Метод post API передает значение, которое вы хотите отправить на сервер из файла клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...