列出正在使用特定JS文件的网站页面

时间:2019-02-11 11:07:44

标签: javascript html ajax

目的:了解哪些网页导入了我编写的 .js文件。 有什么方法可以将脚本注入我的.js文件,以便我可以收集有关网站的信息(至少是域名)?

例如 X网站https://www.x-site.com在其HP.html上具有此导入,我可以对其进行访问。

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

我希望这个 startup.js 文件以某种方式通知我 x-site.com 本身已从中受益。

我首先想到的是,我可以简单地在该JS文件中发出GET请求,并带有服务器托管的另一个HTML文件的参数。

您认为最佳做法是什么?

PS :由于我使用的平台是CMS,因此我无法访问托管JS文件的服务器,因此我可以简单地加载包括上述JS文件的资产。

PS2 :我也无法访问使用此JS文件的网站。

3 个答案:

答案 0 :(得分:0)

一种可能的解决方案,其中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>

答案 1 :(得分:0)

最简单,最可靠的解决方案是配置服务器的访问日志,以跟踪谁在下载脚本文件。

例如,查看this Apache documentation。它概述了如何制作自定义条件日志文件。

答案 2 :(得分:-1)

在您的Web服务器中创建一个API服务,然后在您的startup.js文件加载事件中调用该API。 API的post方法将要从客户端文件发送到服务器的值传递给您。