- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何测试 popper.js 是否已加载,以便我可以从 CDN 回退到本地副本?
Popper 是 Bootstrap 4 所必需的,必须首先加载。我想使用我在下面使用的相同引导回退技术,这样如果 popper.js CDN 失败,浏览器回退到从我的服务器加载 popper.js。
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js"></script>
<script>if(typeof($.fn.modal) === 'undefined') {document.write('<script src="local/bootstrap.min.js"><\/script>')}</script>
最佳答案
检查 Popper 变量。
如果它的类型是“未定义”那么它 Popper 加载失败,你可以回退到本地副本:
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" ></script>
<script>if(typeof(Popper) === 'undefined') {document.write('<script src="static/lib/popper.min.js"><\/script>')}</script>
--
2019 年 2 月更新
自从 Chrome >55 现在“干预”一些包含脚本标签的 document.write(例如 2G 移动设备上的用户),但是,如果 document.write 引用相同的域或 TLD+1(即,脚本static.mydomain.com 从 www.mydomain.com 上的 html 文件中引用),那么 Chrome 将不会干预并停止脚本下载。所以现在上面的方法工作正常。我还稍微改进了代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script>window.Popper || document.write('<script src="static/lib/popper.min.js"><\/script>')</script>
要考虑的另一项更改是将 document.write here 放入一个函数中,并对您首选的分析提供程序进行事件调用,以便您可以跟踪您的网站何时回退到外部脚本的本地副本,而不是而不是默默地这样做。
关于javascript - 如果 popper.js 无法加载则回退,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47077919/
我在自定义下拉菜单中的项目上使用 popper.js(它不是 )。该站点使用 Bootstrap 4。 我的poppers看起来像这样,但我希望它溢出滚动容器之外: 我希望 poppers 出现在
如何将 popper 与刚刚发布的 Bootstrap 5 alpha 捆绑在一起? 最佳答案 Bootstrap 5,就像 v4 一样默认带有 JS 包 - Bootstrap JS + poppe
我正在学习使用此命令安装 popper 的教程:npm install popper --save .但是当我尝试它时收到此错误消息:fatal error - cygheap base mismat
我想给一个弹出框(工具提示)一个填充窗口。所以它对窗框有一个偏移量,而不是 stick at the edges 我试图通过添加 padding/ margin/ transparent border
我正在开发一个日历应用程序。 问题:单击 popper 的 popper 会关闭两个 popper,因为它会触发关闭它的第一个 popper 的 click outside 事件。 我有一个组件 使用
我正在使用 Material UI (v 4.9.5) Popper对于上面的“弹出”菜单。它是 anchorElement是选中的ListItem在左边。 我想要 Popper与主菜单顶部齐平。但是
Angular 和 Bootstrap 的新手,我正在尝试创建 helloworld 应用程序。我已经添加了所需的库,但我一直卡在这个错误中 Uncaught Error: Bootstrap dro
所以 Bootstrap 4 Beta 已经发布了……是的!但是,Tether 已被 Popper.js 替换为工具提示(和其他功能)。我看到控制台中抛出的错误足够快,可以告诉我对 Popper.js
当我为现有 React 项目输入命令 npm update 时,会显示以下内容: npm WARN deprecated popper.js@1.16.1: You can find the new
我尝试编辑 Tippy.js 的 CSS STLye。所以我 npm install tippy 并像这样将它导入我的 html 但是,它有一些错误。 Uncaught TypeError: Pop
我在 React 中构建了一个自定义 TreeView ,每个项目都包含一个使用 Popper 定位的下拉列表。由于子元素在渲染时不可见,因此 Popper 没有正确定位下拉列表,例如: 当树在 mo
由于依赖 jquery 3x,我在使用某些 ng-bootstrap 下拉组件时遇到问题,而 jquery 3x 又无法找到 popper.js 在我的控制台中查看此内容 Uncaught Error
我正在尝试将我的 javascript 文件移动到 Webpack。我对 Webpack 不太熟悉,所以我不确定我是否正确编码了其中的任何内容。我正在尝试加载 jquery-ui、popper 和 b
运行命令: npm install popper.js --save 将返回警告消息: npm WARN 已弃用 popper.js@1.16.1:您可以在 @popperjs/core 找到新的 P
我正在使用 Bootstrap,我希望使用下拉菜单。当我点击它时它不起作用,控制台中出现以下消息: Uncaught TypeError: Bootstrap dropdown require Pop
这似乎是一个蹩脚的问题,但我想不通。如何导入 Bootstrap 4 beta 自带的 popper.js? 我使用 Bower,并且安装了 Bootstrap 4 beta。现在在 bower_co
我刚刚升级到 Bootstrap 4 并实现了 Popper.js是一种依赖。我喜欢在本地托管库,因为我有时需要离线工作,但当我尝试离线使用它时,我收到错误消息 unexpected token ex
我目前在阻止我的工具提示离开 View 时遇到问题。 这是我创建工具提示实例的代码: // The '+'-Button as seen on the screenshots below const
我正在尝试制作下拉菜单,但出现此错误: "Uncaught Error: Bootstrap dropdown require Popper.js (https://popper.js.org)
我正在使用 Popper.js当单击具有类 .js-share-cf-btn 的元素时显示具有类 .js-share-cf-popover 的弹出元素。 但我希望仅当我在其外部单击时弹出窗 Eloqu
我是一名优秀的程序员,十分优秀!