第三方javascript问题

Issues with third party javascript

本文关键字:问题 javascript 第三方      更新时间:2024-02-15

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

1)您需要确保您的脚本尽可能与其他脚本隔离,方法如下:

(function () {
  var myPrivateFunction = function () {...};
  var myPublicFunction = function () {...};
  window.myWidget = {
    myPublicFunction: myPublicFunction
  };
}());

使用此方法,您可以完全控制哪些函数可以在脚本之外访问。

2)如果脚本只执行一次很重要,则需要防止多次调用。查看"singleton模式"(在JavaScript中实现singleton的最简单/最干净的方法?),了解如何处理这一问题。