Javascript (Modernizr/YepNope.js) 语法和用法

标签 javascript asynchronous modernizr yepnope

我的网站上使用了 Modernizr 的自定义版本(仅包含我需要测试的内容)。 也就是说,我在 JavaScript 方面遇到了困难,我能做的最好的事情就是剪切、粘贴和祈祷。

我使用 Modernizr.load 异步加载资源,但我让它工作的唯一方法是去 http://mothereffinghsl.com/并复制第 73 行到第 86 行(我看到它在 HTML5 Boilerplate 视频教程中使用)...我将发布我的版本:

<script>
  Modernizr.load({
    test: Modernizr.fontface,
    yep: [      
     ,'css!//static.adaminfinitum.com/css/lazy-fonts.css'      
    ],
    callback: function(url, testResult) {
    }
  });
</script>

自从我这样做以来,http://yepnopejs.com/ 上的文档Modernizr 的 YepNope 部分已经有了很大的改进,但我有几个问题。

1.) 如果我删除 < script > 标签,我可以将其直接粘贴到我的 Modernizr 文件中(它目前位于页面的结束正文标签之前)吗?

2.) 如果我想知道何时/如何/使用了什么,我需要使用 console.log (下面的示例)吗?

来自 yepnope 文档:

yepnope({
  load: ["https:/­/my-cdn.com/jquery.min.js?v=1.7.1", "https:/­/my-cdn.com/jquery-ui.min.js?v=1.8.16"],
  callback: {
    "jquery.min.js": function () {
      console.log("jquery loaded!");
    },
    "jquery-ui.min.js": function () {
      console.log("jquery-ui loaded!");
    }
  }
});

在文档的某些地方,我看到他们使用“警报”,但似乎它唯一可以发出警报的地方是我服务器上的记录,这似乎是 console.log 正在做的事情。这是正确的,只是一种不同的措辞方式,还是两者之间有区别?

正如你所知,我是 JS 菜鸟,我真正想要的是能够获得有关我的流量有多少支持或不支持给定功能的使用统计信息。

注意:我阅读了这里似乎相关的所有内容,几周前问了一个过于宽泛的问题,其中包括这个问题(实际上是 6 个问题合并为一个问题......抱歉)。

谢谢

更新:无论出于何种原因,使用上面显示的“协议(protocol)相对”URL(省略 http:)给我带来了很多 404 错误问题(有时被解释为相对链接),所以我最终添加了 http: 到资源链接。

最佳答案

您可以将不带脚本标记的 JavaScript 代码粘贴到 Modernizer 文件中,只要您在定义 Modernizer 对象之后(即在 Modernizer 文件的末尾)执行此操作,这是正确的。

console.log 函数不会记录到服务器上的文件,而是记录到网络浏览器中的 JavaScript 控制台。并非所有 Web 浏览器都有 JavaScript 控制台,但如果有,您可以在其中查看日志消息和错误消息。 Firefox 和 Chrome 都有可以打开的 JavaScript 控制台。请记住 console.log 应该只存在于代码中用于调试。

需要注意的是,当 JavaScript 控制台未在窗口中打开时,某些版本的 Internet Explorer 不会定义 console.log。 这将导致您的 JavaScript 意外停止。如果可以选择,请使用 Firefox 或 Chrome 检查代码的运行情况,这可能会节省您大量时间。

alert 函数是一种不太方便的调试方式。它将在您的浏览器中弹出一个对话框窗口,其中包含您的消息。您需要忽略该消息才能继续运行 JavaScript 程序。同样,服务器端不会记录任何内容。

关于Javascript (Modernizr/YepNope.js) 语法和用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319324/

相关文章:

android - Kotlin:元素未附加在列表中

javascript - Jquery Modernizr 日期选择器

Javascript – 使用 Modernizr 媒体查询更改 SVG viewBox

javascript - Chrome 扩展 : how to pass ArrayBuffer or Blob from content script to the background without losing its type?

reactjs - 渲染期间加载屏幕(异步渲染)

Android okhttp 异步进度对话框

mobile - 使用 Modernizr 测试平板电脑和移动设备 - 征求意见

javascript - 什么时候调用扩展函数

javascript - 使用 JavaScript 的动态表生成器

javascript - javascript 原型(prototype)继承如何用于数组、函数