gpt4 book ai didi

javascript - 版本控制网站插件(例如 Wibiya bar、Meebo bar)

转载 作者:行者123 更新时间:2023-11-28 10:25:29 26 4
gpt4 key购买 nike

我正在开发一个插件,该插件将添加到外部站点,例如 Meebo/Wibiya 栏。我正在研究如何对我的文件进行版本控制。

我想要实现的目标:

  • 网站只需添加几行<script>到他们的网站。
  • 如果我选择的话,我将能够以静默方式升级他们正在使用的 js 文件,而无需他们修改代码。
  • 我将能够为不同的网站提供不同的 js 文件。
  • JS 文件将被缓存,除非它们发生更改。
  • 我将能够执行 A/B 测试(即为单个网站加载 2 个不同的 JS 文件,为每个访问者随机选择)。

我怎样才能实现所有这些目标?或者至少尽可能多?

最佳答案

在我的脑海中,我认为像下面这样的事情应该会让事情发生。

您可以使用某种 API key 来识别远程站点,你也可以使用 HTTP 引用,但这并不完全可靠的。然后,复制 Google Analytics 的做法并获取客户像这样嵌入一点 JavaScript:

var _edan_cfg    = _edan_cfg || { };
_edan_cfg.apiKey = 'The-API-key-goes-here'; // Just in case you want it later.
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.async = true;
e.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www')
+ '.your-domain-name.com/some_sensible_path/'
+ encodeURIComponent(_edan_cfg.apiKey);

var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(e, s);
})();

这应该满足您的前两点。

在服务器端,您从传入路径中提取 API key ,该键告诉您正在与哪个网站交谈,以便您可以发回无论 JavaScript 是否合适。您可以使用 HTTP 缓存 header 尝试控制缓存。那应该照顾第二点和第三点。

最后一个要求有点有趣,但没有什么不可能。您发回的脚本始终可以支持多种渲染或行为,脚本还可以根据无论你能想到什么条件。该脚本还可以加载更多通过创建更多 <script> 从您的服务器脚本标签如上。

关于javascript - 版本控制网站插件(例如 Wibiya bar、Meebo bar),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4482569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com