目的:了解哪些网页导入了我编写的 .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文件的网站。
答案 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方法将要从客户端文件发送到服务器的值传递给您。