首頁  >  文章  >  web前端  >  如何在 JavaScript 中檢查瀏覽器是否支援 OffscreenCanvas?

如何在 JavaScript 中檢查瀏覽器是否支援 OffscreenCanvas?

WBOY
WBOY轉載
2023-08-24 10:25:091518瀏覽

如何在 JavaScript 中检查浏览器是否支持 OffscreenCanvas?

在 HTML 中,當我們想要只使用 HTML 和 JavaScript 在網頁上顯示動畫或 3D 物件時,Canvas 非常重要。

offscreenCanvas 允許使用者在螢幕外渲染動畫和圖形。這意味著當我們使用畫布時,它會透過 Web 應用程式的主執行緒與使用者交互,但 offscreenCanvas 不會。因此,我們可以使用 offscreenCanvas 來提高應用程式的效能。

在任何瀏覽器上使用offscreenCanvas之前,我們需要檢查瀏覽器是否支援;否則,我們需要使用canvas。

因此,我們將學習兩種方法來檢查是否支援 offscreenCanvas。

方法 1:使用 typeof 運算子

typeof 運算子允許開發人員檢查 JavaScript 中變數的類型。在這裡,我們將檢查 offscreenCanvas 的類型。如果offscreenCanvas的類型在特定的瀏覽器中未定義,則表示該瀏覽器不支援它

文法

使用者可以依照下列語法檢查瀏覽器是否支援 offscreenCanvas 或不使用 typeof 運算子 -

if (typeof OffscreenCanvas === "undefined") {
   // not supported
} else {
   // supported
}

在上面的語法中,我們使用了 offscreenCanvas 作為 typeof 運算子的運算元。

範例

在下面的範例中,當使用者點擊按鈕時,它會呼叫 isSupported() 函數。 isSupported() 函數使用 typeof 運算子取得特定瀏覽器中 offscreenCanvas 的類型,並使用 if-else 語句檢查它是否未定義或其他內容。

<html>
<body>
   <h3>Using the <i> typeof </i> operator to check if OffscreenCanvas is supported by Browser or not</h3>
   <button onclick = "isSupported()"> Check OffscreenCanvas is supported </button>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      function isSupported() {
         if (typeof OffscreenCanvas === "undefined"){
            output.innerHTML +=
            "The OffscreenCanvas in this browser is not supported!";
         } else {
            output.innerHTML +=
            "The OffscreenCanvas in this browser is supported!";
         }
      }
   </script>
</body>
</html>

方式二:使用canvas的transferControlToOffscreen函數

我們可以用 HTML 建立一個簡單的畫布。之後,如果我們想使用OffScreenCanvas,我們需要呼叫transferControlToOffscreen()函數。如果瀏覽器支援 OffScreenCanvas,則也支援 OffScreenCanvas 的每個屬性和方法。

因此,我們將檢查transferControlToOffscreen()函數的類型,如果它傳回“function”,則表示瀏覽器支援OffScreenCanvas。

文法

使用者可以依照下面的語法透過檢查transferControlToOffscreen()函數的類型來檢查瀏覽器是否支援OffScreenCanvas。

// Creating the canvas element
var canvas_sample = document.createElement("canvas");
if (typeof canvas_sample.transferControlToOffscreen !== "function") {
   //Browser doesn't support OffScreenCanvas
} else {
   //Browser supports OffScreenCanvas
}

在上面的語法中,我們創建了canvas元素,並透過將其作為引用並檢查其類型來存取transferControlToOffscreen()。

範例

在此範例中,我們使用 JavaScript 的 createElement() 方法來建立一個 canvas_sample 元素。之後,我們使用transferControlToOffscreen()畫布方法作為typeof運算子的操作數來檢查其類型。

使用者可以在輸出中觀察到,Chrome 瀏覽器支援 OffScreenCanvas,並且它會傳回「函數」作為 TransferControlToOffscreen() 方法的類型。

<html>
<body>
   <h3>Using the <i> transferControlToOffscreen </i> function to check if OffScreenCanvas is supported by Browser or not  </h3>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      function isSupported() {
         var canvas_sample = document.createElement("canvas");

         if (typeof canvas_sample.transferControlToOffscreen !== "function") {
            output.innerHTML +=
            "The OffScreenCanvas in this browser is not supported!";
         } else {
            output.innerHTML +=
            "The OffScreenCanvas in this browser is supported!";
         }
      }
      isSupported();
   </script>
</body>
</html>

用戶學習了兩種方法來檢查瀏覽器是否支援 OffScreenCanvas。然而,我們在這兩種方法中都使用了 typeof 運算子。儘管如此,我們還是在第一種方法中檢查 OffScreenCanvas 的類型,在第二種方法中檢查 transferControlToOffscreen() 函數的類型。

以上是如何在 JavaScript 中檢查瀏覽器是否支援 OffscreenCanvas?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除