如何为用户创建外部javascript代码,如Google Analytics JS代码?

如何为用户创建外部javascript代码,如Google Analytics JS代码?,javascript,scripting,serverside-javascript,Javascript,Scripting,Serverside Javascript,我正在启动一个项目,我需要创建一个外部javascript代码,供用户输入到他们的网站(就像他们使用Google Analytics代码片段一样)。通过JQuery,我了解一点javascript,但我不确定如何开始 我很紧张,我用了错误的术语来寻找我要找的东西 从技术角度来看,这与在您自己的网站中包含静态JS文件一样——通过使用脚本标记来实现。唯一的区别是,JS文件的源与您的网站位于不同的域中 至于JS文件的实际内容,由于您的问题过于偏颇,因此很难给出建议。我唯一能建议的是 1) 您不能依赖包

我正在启动一个项目,我需要创建一个外部javascript代码,供用户输入到他们的网站(就像他们使用Google Analytics代码片段一样)。通过JQuery,我了解一点javascript,但我不确定如何开始


我很紧张,我用了错误的术语来寻找我要找的东西

从技术角度来看,这与在您自己的网站中包含静态JS文件一样——通过使用脚本标记来实现。唯一的区别是,JS文件的源与您的网站位于不同的域中

至于JS文件的实际内容,由于您的问题过于偏颇,因此很难给出建议。我唯一能建议的是

1) 您不能依赖包含任何依赖库(如jQuery)的站点


2) 尽可能少地污染全局命名空间。理想情况下,它将只是全局名称空间中的一个对象,所有代码都位于其下。

只需为它们提供一个js文件,将其包含在UR头中即可。确保不要修改全局scop,因为您不知道他们在做什么。通常,这是通过闭合来确保的:

(function(){
    // Put your code here

    window.yourLibName = someObject;
})();
他们可以在全局范围内使用的唯一代码是yourLibName,其他所有代码都保存在您的colsure中

然后,您可以向他们提供一个代码示例,以便从他们的网页调用您的工具。比如:

<script type="text/javascript"><!--
yourLibName(someParameters);
//-->
</script>

这种方法将在大多数网站上带来干净和可用的东西

另外,在这样的解决方案中,避免使用jQuery之类的库,因为这有可能会弄乱客户端的javascript,特别是当客户端使用不同版本的jQuery或其他库(如Mootools)时。

一些基本原则

  • 使代码尽可能小

  • 不要像Jquery那样依赖库。这将使第三方网站上的冲突变得容易

  • 使脚本加载异步

  • 留下一些接口,以便其他人可以对代码进行自定义设置

  • 不要添加太多全局变量。尝试使用名称空间来编写代码