如何创建可部署的JavaScript文件


How to create deployable JavaScript file

为了快速举例说明我的问题,请考虑谷歌提供的JS文件,以捕获我们粘贴在文件中的分析数据。这个JS文件是如何获取所有数据的?我想知道如何创建这样的JS文件,我可以将其分发给其他人,然后他们可以在自己的网站上运行它,并将数据存储在我的网站服务器上。简而言之,他们只复制页面中的1-2行JS,所有预期功能都将在他们的网站上运行,但数据将存储在我的网络服务器数据库中。

如何将功能附加到这样的JS文件?我的意思是,我如何告诉JS文件是收集分析数据还是显示表格等。我正在使用PHP进行服务器端处理。到目前为止,我没有找到任何关于这方面的好信息。

编辑1:

我想补充一点,功能是仅限于分析。它甚至可以简单到显示一个向收件人发送电子邮件的联系表单等。

Google Analytics有一个客户端javascript文件,网站所有者在其网页中引用该文件。当javascript文件运行时,它会收集有关当前页面的信息,然后用请求中编码的信息向谷歌服务器发出请求,谷歌服务器会将该信息记录在数据库中。由于ajax调用受到同源限制,谷歌向其服务器发出的请求实际上是为了获得一张GIF图像,该图像的数据编码在URL中。

以下是谷歌对其工作原理的解释:http://code.google.com/apis/analytics/docs/concepts/gaConceptsOverview.html

要为您的客户端创建这样的东西,您必须创建适当的javascript文件,将其托管在服务器上,给出将其安装到他们的网页中的说明,并创建正确的PHP脚本来记录请求GIF时输入的信息(大概,你也必须进行一些网络服务器配置才能让你的PHP脚本在GIF请求中运行)。

我想你可以在这里找到问题的答案:如何使用Javascript 将数据发送到远程服务器

简而言之,您将能够使用JSONP将数据发送到另一个域。您也可以使用jQuery的$.getJson方法来实现这一点。

通过插入类似的东西

<script src="http://myeviltrackingsite.com/track.js"></script>

访问者的浏览器将向您的服务器请求CCD_ 1。当被询问时,你的服务器会从访问者那里得到一个正常的HTTP头,当然还有他的IP。这个HTTP头包含您想要的所有信息,比如访问者的语言,他使用的浏览器类型。要跟踪访问者的地理位置,您可以使用访问者的IP地址并进行反向IP查找。有可用的免费地理位置数据库。