第三方javascript的问题

时间:2015-02-20 09:25:32

标签: javascript

我一直在构建第三方javascript小部件,它在主机站点上呈现推荐引擎类型小部件。我已经成功地在4个网站上部署了我的小部件,然后才在这个网站上遇到这个奇怪的问这个网站使用一个floating.menu.js作为他们的导航按钮,这个特殊的脚本也调用我的javascript除了主机的HTML标记,所以我的小部件被渲染两次,它完全弄乱了我的样式。在Chrome开发人员工具中在控制台中检查时,它显示除了我自己的第三方脚本之外,VMxx类型脚本也在页面上运行。 有谁知道如何防止这些类型的脚本干扰我的脚本或我应该如何调试这个问题。 我

1 个答案:

答案 0 :(得分:1)

1)您需要使用以下内容确保您的脚本尽可能与其他脚本隔离:

(function () {

  var myPrivateFunction = function () {...};

  var myPublicFunction = function () {...};

  window.myWidget = {
    myPublicFunction: myPublicFunction
  };

}());

使用此方法,您可以完全控制脚本外部可以访问的功能。

2)如果您的脚本只执行一次很重要,则需要防止多次通话。关于如何处理这个问题的一个选项,请查看“单例模式”(Simplest/Cleanest way to implement singleton in JavaScript?)。