2

我在我的网站上使用了一个自定义版本的 Modernizr(仅包括我需要测试的内容)。也就是说,我在 JavaScript 中挣扎,我能做的最好的事情就是剪切、粘贴和祈祷。

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

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

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

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

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 个问题拼成一个......对不起)。

谢谢

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

4

1 回答 1

3

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

console.log函数不会登录到服务器上的文件,而是登录到 Web 浏览器中的 JavaScript 控制台。并非所有 Web 浏览器都有 JavaScript 控制台,但有的浏览器可以在那里查看日志消息和错误消息。Firefox 和 chrome 都有可以打开的 JavaScript 控制台。记住console.log应该只在你的代码中进行调试。

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

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

于 2012-11-10T05:02:57.370 回答