簡體   English   中英

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

[英]Javascript (Modernizr/YepNope.js) syntax and usage

我在我的網站上使用了 Modernizr 的自定義版本(僅包括我需要測試的內容)。 也就是說,我在使用 JavaScript 時掙扎,我能做的最好的事情就是剪切、粘貼和祈禱。

我使用 Modernizr.load 來異步加載資源,但我讓它工作的唯一方法是去http://mothereffinghsl.com/並復制第 73 到 86 行(我看到它在 HTML5 樣板視頻教程中使用)...我將發布我的版本:

<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 個問題分解為一個……抱歉)。

謝謝

更新:無論出於何種原因,使用上面顯示的“協議相關”URL(省略 http:)給我帶來了很多 404 錯誤的問題(它有時被解釋為相對鏈接),所以我最終將http:添加到鏈接到資源。

您可以將不帶腳本標簽的 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 程序。 同樣,服務器端不會記錄任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM