从服务器序列故障转移加载 .js?

2024-04-12

让我们想象一个网页需要加载一个 javascript 文件(即my.js)。是否可以组织以下故障转移加载顺序?

  1. 如果服务器 A 已启动,则加载my.js来自服务器A。
  2. 否则,如果服务器 B 已启动,则加载my.js来自服务器 B。
  3. 否则,如果服务器 C 已启动,则加载my.js来自服务器C。
  4. ...

如果是,如何进行?谢谢。

PS:我刚刚发现耶普诺佩斯 http://yepnopejs.com/。有人推荐吗?


我见过这种技术可以在 CDN 宕机时进行回退。 如果您的 js 文件具有一些可测试的属性,例如全局变量(我将其称为标记),您可以尝试从服务器 A 加载文件,测试标记,如果未找到脚本,则再次尝试。

<script type="text/javascript" src="http://server_A.tld/my.js"></script>
<script type="text/javascript">
if( !window.marker ) {
    document.write(
        '<script type="text\/javascript" src="http:\/\/server_B.tld\/my.js"><\/script>'
    );
}
</script>

更新 使用此技术运行所有脚本都没有危险。约翰·雷西格 (John Resig) 在博客文章中解释了这一点。 http://ejohn.org/blog/degrading-script-tags/。脚本可以以任意顺序并行下载,但它们must按顺序执行。

这是一个小提琴,演示了 http://jsfiddle.net/HaNGR/2/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从服务器序列故障转移加载 .js? 的相关文章

  • Imgur API 版本 3 JavaScript 上传示例

    我在网上找到的所有示例都是早期版本的 Imgur API 或非 JS 代码 所有这些都使用新 API 中不存在的 API 密钥 相反 你会得到一个client id and secret 任何人都有示例代码 展示如何使用其 API 版本 3
  • 如何在指令模板中使用动态 ng-show 值?

    我正在学习 Angular 并且尝试通过使用 Angular 指令来减少执行一些常见操作 例如显示错误消息 所需的代码 我想创建的一个指令是这样的
  • 获取画布上下文的最后一个点的坐标

    我想创建一个arrowTo功能与CanvasRenderingContext2D prototype 为此 我需要获取最后一个点的坐标 例如 var ctx someCanvas getContext 2d ctx moveTo 10 40
  • 使用 keyup 上的 Submit() 提交表单两次

    我有一个与此类似的 jQuery HTML 代码
  • Sails.js - 如何更新嵌套模型

    attributes username type email validated by the ORM required true password type string required true profile firstname s
  • Chrome 内存/垃圾收集问题

    我在使用 Chrome 时遇到内存 垃圾收集问题 我正在开发一个照片上传网站 该网站允许我的客户使用 HTML5 和文件 API 拖放照片进行上传 因此这在 IE 中不起作用 它仅适用于 Chrome 和 FF 我还没有在 Safari O
  • 如何在启用导航栏的情况下打开新的浏览器窗口?

    我有这个JS方法 function OpenLink strDestination var features left 10 top 10 location 0 menubar 0 resizable 0 scrollbars 1 stat
  • Javascript:通过将路径作为字符串传递给对象来获取对象的深层值[重复]

    这个问题在这里已经有答案了 可能的重复 使用字符串键访问嵌套的 JavaScript 对象 https stackoverflow com questions 6491463 accessing nested javascript obje
  • 使用 Javascript eval() 100% 安全吗?

    我正在编写一个生成 Javascript 代码的 PHP 库 Javascript 代码有许多名为component001 component002 etc 页面通过 AJAX 动态加载 我需要通过 URL 变量传递组件的名称 然后由脚本进
  • 属性访问器(getter)的扩展运算符问题

    我很难理解为什么以下代码存在一些问题https jsfiddle net q4w6e3n3 3 https jsfiddle net q4w6e3n3 3 Note 所有示例均在 chrome 版本 52 0 2743 116 中进行测试
  • 将数组中的所有元素相乘

    我在这里找不到我真正想要的例子 我想将所有数组元素相乘 因此如果数组包含 1 2 3 总和将为 123 6 到目前为止 我已经得到了这段代码 但它返回未定义 function multiply array var sum 1 for var
  • 更改特定字符串的颜色

    有谁知道如果将特定单词输入文本区域 我如何更改它的颜色 例如 如果用户输入 你好我的朋友 它会动态地将 你好 更改为绿色 在google上花了很多时间 找不到任何相关的东西 谢谢 textareas 的设计目的不是选择性着色
  • 我可以在不使用 Jquery UI 的情况下获得 Jquery Pulsate Effect 吗?

    我遇到了由于某种原因无法使用 Jquery UI 的情况 我正在尝试在不使用 Jquery UI 的情况下获得 Jquery UI 脉冲效果 与此链接类似 http docs jquery com UI Effects Pulsate ht
  • Promise 构造函数回调的主体何时执行?

    假设我有以下代码构造一个Promise function doSomethingAsynchronous return new Promise resolve gt const result doSomeWork setTimeout gt
  • D3.js - 具有多个环的圆环图

    以下示例显示了 D3 js 中的圆环图 是否可以向图表添加多个圆环 var dataset apples 53245 28479 19697 24037 40245 var width 460 height 300 radius Math
  • d3力定向布局-链接距离优先

    在 d3 中使用力导向布局 如何使链接距离成为优先事项 同时仍然保持良好的图形布局 如果我指定动态链接距离 但保留默认费用 则我的图形距离会因费用函数而发生一些变形 并且不再是准确的距离 但是 如果我删除电荷 图表将如下所示 任何建议表示赞
  • 从未使用 mimeType 初始化的 MediaRecorder 获取 mimeType

    我正在使用 MediaRecorder API 在页面上录制一些媒体 在我的 MediaRecorder 初始化中 我没有指定内容类型 因为我不需要任何特别的内容 浏览器可以选择它想要的 var mediaRecorder new Medi
  • 无法从 JSON 请求获取数据,尽管我知道它已返回

    我试图获取从 getJSON 返回的数据 但我无法让它工作 我已经在 search twitter API 上尝试了相同的代码 效果很好 但它不适用于其他网站 我知道数据已返回 因为我在使用检查器时可以找到它 我通过检查器找到的值是 id
  • ES6 Reflect API 的好处

    我一直在努力升级一些代码以使用 ES6 语法 我有以下代码行 delete this foo 我的 linter 提出了使用建议 Reflect deleteProperty this foo 您可以找到该方法的文档here https d
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac

随机推荐

  • 来自存储桶的 AWS s3 V3 Javascript SDK 流文件 (GetObjectCommand)

    我查看了所有 AWS 码头和堆栈溢出 甚至去了谷歌的第 4 页 但我一生都无法弄清楚如何从 S3 流式传输文件 V3 的文档非常无用 我找到的所有示例都来自 V2 V3 使用的发送公共仅返回一个承诺 那么我如何获取流并通过管道传输它而不是等
  • 单击编辑文本时推送内容

    我到处寻找解决我的问题的方法 但找不到答案 问题就在这里 我有一个看起来像这样的布局 现在 当我单击编辑文本 搜索栏 时 我希望发生以下情况 软键盘基本上需要将整个屏幕的内容上推 使搜索栏位于顶部 列表视图位于其下方 以便在搜索内容时显示结
  • 为什么 css 变量会覆盖另一个文件的 css 变量?

    当我在各种 CSS 文件中定义变量并将这些文件包含在 HTML 文件中时 它会覆盖以前的变量 为什么会发生这种情况 假设我有 测试1 css root size of font 5rem logo font size var size of
  • 如何获取 HTML 元素节点的实际 CSS 属性值? [复制]

    这个问题在这里已经有答案了 据我了解获取计算样式 https developer mozilla org en US docs Web API Window getComputedStyle方法 它应该返回一个对象 允许访问 HTML 元素
  • 单击时删除点边框

    我正在使用此 CSS 来删除单击超链接时出现的虚线边框 a active a focus input outline 0 outline style none outline width 0 这工作正常 但不适用于具有背景图像的输入按钮 我
  • 接口、静态类问题

    我目前正在将所有游戏代码移动到另一个包中 以便在创建另一个类似游戏时可以简单地重用它 不过我在这方面遇到了一些问题 public interface Sprite abstract class AbstractSprite implemen
  • 有什么方法可以在 Jenkins 中获取 Gitlab 管道工件吗?

    我在gitlab中有一个项目 该项目会在存储库中的每次签入时构建 并在 gitlab 管道成功时创建构建工件 我想在我的詹金斯管道工作中获得这些构建工件 有什么办法可以做到这一点吗 我在 Jenkins 中找不到任何插件来执行此操作 任何帮
  • setInterval 不起作用(Javascript)

    我正在尝试使用 JavaScript 中的 setInterval 定期重绘画布 但是 当我调用 setInterval 函数时 我传递给它的函数只运行一次 这是我的代码的简化版本
  • 无法打开下载保存对话框

    使用下面的代码我无法显示打开 另存为文件对话框 public void ProcessRequest HttpContext context string link context Request QueryString Link stri
  • 在 google app engine python 中设置 cron 作业

    我刚刚开始使用 Google App Engine 所以我仍在学习如何配置所有内容 我编写了一个名为 parsexml py 的脚本 我希望每 10 分钟左右运行一次 该文件位于我的主目录中 与 main py app yaml 等一起 据
  • 自动添加或删除 Woocommerce 购物车中的免费产品

    我正在尝试创建代码 一旦客户达到购物车中的特定价格点 该代码就会自动将商品添加到客户的购物车中 如果他们只订购虚拟产品 我试图排除这种情况的发生 因为 免费礼物 仅适用于正在发货的产品 我使用的代码是以正确的金额添加免费礼物 但并不排除任何
  • 如何以 4/6/7 角度传递表单提交上的所有选中复选框值

    我想在组件中获取表单的所有已检查项目而不使用change or click 功能 因为它无法获取已检查的项目 这是我在 TS 中的数组 PartyRoles Id 1 Name Vendor Checked true Id 2 Name C
  • VSCode 中的 Flutter 初始化

    我一直在使用 VS Code 开发一个 flutter 项目 当我今天打开我的项目时 有一条通知显示 正在初始化 flutter 这可能需要几分钟 然后就被击中了 此外 flutter run 和 flutter doctor 等所有命令都
  • 将 WKNSURLRequest 崩溃为?其他类型

    当我尝试强制转换 WKNSURLRequest 以及其他类 全部来自 WebKit 框架 时 我遇到了严重崩溃 例如在游乐场 import UIKit import WebKit final class Sigh NSObject NSCl
  • bash set -e and i=0;让i++不同意

    仅当变量的先前值为零时 以下带有调试选项 set e v 的脚本才会在增量运算符处失败 bin bash set e v i 1 let i echo I am still here i 0 let i echo I am still he
  • 在 Flask 中使用 root_path 参数

    我尝试遵循一个教程 该教程旨在演示如何更改静态和模板文件夹在根目录中的位置 但是我无法让这个例子工作 应用程序运行正常 但在查找样式表 GET static style css HTTP 1 1 404 时返回 404 因此 它似乎可以找到
  • 如何从字符串形式的发送者向模拟器发送短信

    我经常在手机中收到短信 其中发送者中包含一些字符串而不是数字 例如公司名称 我想测试一些对这些短信做出反应的应用程序 但是如何将这样的短信发送到模拟器 如果我运行模拟器并执行以下操作 远程登录本地主机 5554 短信发送 MyBank 这是
  • 如何在 Lattice 包中将标签添加到 Levelplot 的顶部 X 轴

    所以我正在使用类似于此的 levelplot 制作类似相关矩阵的图 取自 将相关矩阵绘制成图表 https stackoverflow com questions 5453336 plot correlation matrix into a
  • 如何使带有前导零的不连续字符数字序列连续?

    我有这个字符向量 dput t line c 0304 0305 0306 0308 0311 0313 0314 0316 0318 0321 0322 0323 0324 0326 0327 0330 0333 0337 0338 03
  • 从服务器序列故障转移加载 .js?

    让我们想象一个网页需要加载一个 javascript 文件 即my js 是否可以组织以下故障转移加载顺序 如果服务器 A 已启动 则加载my js来自服务器A 否则 如果服务器 B 已启动 则加载my js来自服务器 B 否则 如果服务器