整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CocosCreator發布的desktop獲取本地

          CocosCreator發布的desktop獲取本地資源

          伙伴們,大家好,今天給大家帶來的是CocosCreator發布的web-desktop獲取本地資源。

          在很早很早以前,我們把cocos項目發布為web版本的,然后進入到文件夾中直接找到index.html文件來,雙擊就可以打開我們的游戲,但是現在不行了,為什么呢?因為瀏覽器為了安全禁止了,我們要解除禁止。

          我們按F12看看是什么錯誤,如下圖:

          點擊詳情了解,出現如下圖:

          可以看到要解除進制,關鍵在privacy.file_unique_origin 這個選項,我們要改變這個選項的值,那么怎么改變呢?
          我們打開瀏覽器,輸入:about:config

          點擊”接受風險并繼續”,出現如下圖:

          在搜索框中輸入: security.fileuri.strict_origin_policy,出現如下圖:

          雙擊true,變為false,如下圖:

          重啟瀏覽器,然后再次打開index.html,就可以加載本地資源了,如下圖:


          求網頁時有時需要下載自定義字體。自定義字體文件一般較大,雖然網上有很多延遲加載字體技術,可提高連接不佳的用戶的性能。

          如果我們能夠知道用戶有哪些字體,我們就可以避免加載一些自定義字體。

          這就是queryLocalFonts,JavaScript 函數的作用所在——用于收集用戶字體信息。

          queryLocalFontsasync一個在首次執行時需要用戶通過瀏覽器提示獲得權限的函數。 返回一個包含所有可用字體信息的對

          象queryLocalFonts數組:FontData

          const localFonts=await window.queryLocalFonts();
          
          // [FontData, FontData, ...]
          
          /*
          {
            family: "Academy Engraved LET",
            fullName: "Academy Engraved LET Plain:1.0",
            postscriptName: "AcademyEngravedLetPlain",
            style: "Plain",
          }
          */
          

          如果您想要針對特定的字體,您也可以直接查詢屬性postscriptName

          const canelaFonts=await window.queryLocalFonts({
            postscriptNames: ["Canela", "Canela-Bold"],
          });
          
          // [FontData, FontData, ...]

          queryLocalFonts就可以使用用戶已有的字體,就不必下載自定義字體。

          需要注意: 權限提示似乎會阻止用戶允許該 API !!!

          關注小編的微信公眾號 [代碼搬磚工],獲取最新國內外前端資訊、面試技巧及實用辦公工具,助你職場升級,每日進步!

          使用 WebView2 控件時,如果你嘗試從 WebView2 加載的頁面訪問本地靜態 HTML 資源,并且遇到了跨域資源共享(CORS)問題,這通常是因為 WebView2 遵循同源策略,這意味著默認情況下,它不允許從一個源加載的頁面訪問另一個源的資源。

          解決此問題的方法取決于你的具體場景和需求。下面是一些可能的解決方案:

          1. 使用allow-local-file-access屬性

          對于本地開發或測試,你可以在 WebView2 控件上設置 allow-local-file-access 屬性為 true,這將允許 WebView2 加載的頁面訪問本地文件系統上的資源。

          csharpawait webView2.CoreWebView2.Settings.PutBoolean("allowLocalFileAccess", true);
          

          請注意,這只應該在受信任的環境中使用,因為啟用本地文件訪問可能會引入安全風險。

          2. 設置 CORS 頭部

          如果你正在嘗試從 WebView2 加載的頁面訪問本地服務器上托管的資源,并且該服務器支持 CORS,你可以配置服務器以發送適當的 CORS 響應頭。這允許跨源請求。

          例如,在 ASP.NET Core 中,你可以使用 CORS 中間件來配置 CORS 策略。

          csharppublic void ConfigureServices(IServiceCollection services)
          {
              services.AddCors(options=>
              {
                  options.AddPolicy("MyCorsPolicy", builder=>
                  {
                      builder.WithOrigins("http://example.com", "http://www.example.com")
                              .AllowAnyHeader()
                              .AllowAnyMethod();
                  });
              });
          
              // ... 其他服務配置 ...
          }
          
          public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
          {
              // ... 其他中間件配置 ...
          
              app.UseCors("MyCorsPolicy");
          
              // ... 其他中間件配置 ...
          }
          

          3. 使用代理服務器

          如果你無法修改資源服務器的 CORS 配置,你可以設置一個代理服務器來繞過 CORS 限制。代理服務器會接收來自 WebView2 的請求,然后轉發到目標資源服務器,并將響應返回給 WebView2。代理服務器可以設置適當的 CORS 響應頭來允許跨源請求。

          4. 部署到相同源

          如果可能的話,將你的靜態 HTML 資源和 WebView2 控件部署到相同的源(即相同的域名、端口和協議)。這樣,同源策略就不會阻止它們之間的交互。

          5. 使用 Web 服務器

          對于本地文件,你可以使用一個簡單的 Web 服務器(如 IIS Express、Kestrel 或其他任何服務器)來托管這些文件,并通過 HTTP 訪問它們,而不是直接通過文件系統。這樣,你就可以通過配置服務器來處理 CORS 請求。

          注意事項

          • 啟用本地文件訪問或繞過 CORS 限制可能會引入安全風險,特別是在生產環境中。確保你了解這些風險,并采取適當的安全措施。
          • 如果你的應用程序是面向用戶的,最好避免使用可能降低安全性的解決方案,并尋找更安全的替代方案。

          主站蜘蛛池模板: 国产精品美女一区二区视频| 亚洲国产老鸭窝一区二区三区| 濑亚美莉在线视频一区| 高清一区二区三区免费视频| 国产精品毛片a∨一区二区三区 | 精品久久久久久无码中文字幕一区 | 后入内射国产一区二区| 福利视频一区二区牛牛| 一区在线免费观看| 国产在线视频一区| 中日韩精品无码一区二区三区| 亚洲中文字幕乱码一区| 亚洲国产视频一区| 精品乱码一区二区三区在线| 国产午夜精品一区二区三区小说| 一区二区三区国产精品 | 人妻无码视频一区二区三区| 国产午夜精品片一区二区三区| 国产一区二区在线观看视频| 97精品国产福利一区二区三区| 国产一区二区三区影院| 综合久久一区二区三区| 亚洲一区二区三区成人网站| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲午夜日韩高清一区| 乱子伦一区二区三区| 国产精品一区12p| 免费高清在线影片一区| 日韩在线不卡免费视频一区| 精品乱码一区内射人妻无码| 亚洲一区二区三区成人网站| 日本一区二区免费看| 精品人妻少妇一区二区三区在线| 国产乱码精品一区二区三区四川人 | 国产精品久久久久一区二区三区 | 任你躁国产自任一区二区三区| 在线日产精品一区| 亚拍精品一区二区三区| 色狠狠色噜噜Av天堂一区| 精品天海翼一区二区| 国产一区二区在线观看麻豆|