我在我的网站上使用了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。)如果我删除&lt;脚本&gt;我可以直接将它粘贴到我的Modernizr文件中(它当前就在我的页面的结束体标记之前)吗?
2。)如果我想知道何时/如何/使用什么我需要使用console.log(下面的示例)?
来自yepnope docs:
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 noob,我真正想要的就是能够获得有关我的流量有多少或不支持给定功能的使用情况统计数据。
注意:我在这里阅读了一些似乎相关的内容,并在几个星期前提出了一个过于宽泛的问题,其中包括这个问题(实际上大约有6个问题被打成一个......对不起)。
由于
更新:无论出于何种原因,使用上面显示的'协议相对'URL(省略http :)导致我404错误的许多问题(它有时被解释为相对链接)所以我最终添加{{1到资源的链接。
答案 0 :(得分:3)
你是正确的,你可以将没有脚本标签的JavaScript代码粘贴到Modernizer文件中,只要你在定义了Modernizer对象之后(即在Modernizer文件的末尾)这样做。
console.log
函数不会记录到服务器上的文件,而是记录到Web浏览器中的JavaScript控制台。并非所有的Web浏览器都有JavaScript控制台,但是那些可以在那里查看日志消息和错误消息的人。 Firefox和Chrome都有可以打开的JavaScript控制台。请记住,console.log
应仅在您的代码中进行调试。
有一点需要注意,当JavaScript控制台未在窗口中打开时,某些版本的Internet Explorer没有定义console.log
。
这将导致您的JavaScript意外停止。如果您有选择,可以使用Firefox或Chrome检查代码的运行方式,这可能会为您节省大量时间。
alert
函数是一种不太方便的调试方法。它将在您的浏览器中弹出一个包含您的消息的对话框窗口。您需要关闭该消息才能继续运行JavaScript程序。再一次,没有任何东西会被记录在服务器上。