{"id":198,"date":"2021-01-14T10:50:37","date_gmt":"2021-01-14T02:50:37","guid":{"rendered":"https:\/\/abstreamace.com\/sglab\/?p=198"},"modified":"2023-04-13T13:29:12","modified_gmt":"2023-04-13T05:29:12","slug":"bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa","status":"publish","type":"post","link":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/","title":{"rendered":"BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/abstreamace.com\/sglab\/wp-content\/uploads\/2021\/01\/image-1623378951680.png\" alt=\"file\" \/><\/p>\n<p>\u904e\u53bb\u6709\u597d\u4e00\u9663\u5b50\u6211\u6c92\u6709\u5728\u9019\u908a\u65b0\u589e\u65b0\u7684\u6587\u7ae0\uff0c\u4e3b\u8981\u662f\u56e0\u70ba\u6211\u81ea\u5df1\u5728\u5de5\u4f5c\u4e4b\u9918\u9678\u7e8c\u958b\u767c\u4e86\u5169\u5e74\u591a\u7684\u61c9\u7528\u7a0b\u5f0f <a href=\"https:\/\/bp-studio.github.io\/\" target=\"_blank\">Box Pleating Studio<\/a>\uff08\u4e0b\u7c21\u7a31 <a href=\"https:\/\/bp-studio.github.io\/\" target=\"_blank\">BPS<\/a>\uff09\u767c\u5c55\u5f97\u5982\u706b\u5982\u837c\u3001\u4e14\u6211\u8981\u8d95\u8457\u5728\u53bb\u5e74\u5e95\u524d\u6b63\u5f0f\u767c\u8868\u4e0a\u7dda\u800c\u7121\u6687\u517c\u9867\u5176\u5b83\u4e8b\u60c5\u7684\u7de3\u6545\u3002\u800c\u73fe\u5728 BPS \u5df2\u7d93\u6b63\u5f0f\u767c\u8868\u4e26\u4e14\u6f38\u8da8\u7a69\u5b9a\uff0c\u4e5f\u8a72\u662f\u6642\u5019\u4f86\u9678\u7e8c\u5beb\u4e00\u4e9b\u76f8\u95dc\u7684\u958b\u767c\u5fc3\u5f97\u4e86\u3002<\/p>\n<p>\u5148\u7c21\u55ae\u4ecb\u7d39\u4e00\u4e0b BPS\uff1b\u57fa\u672c\u4e0a\u5b83\u662f\u70ba\u4e86\u8f14\u52a9\u8d85\u8907\u96dc\u7cfb\u647a\u7d19\u8a2d\u8a08\u800c\u958b\u767c\u7684\u61c9\u7528\u7a0b\u5f0f\uff0c\u5e6b\u52a9\u647a\u7d19\u5bb6\u5229\u7528\u4e00\u7a2e\u7a31\u70ba\u300c\u7bb1\u5f62\u8936\uff08box pleating\uff09\u300d\u7684\u8a2d\u8a08\u6846\u67b6\u4f86\u5275\u9020\u5728\u300c\u6b63\u65b9\u4e00\u679a\u4e0d\u5207\u300d\u7684\u898f\u7bc4\u4e0b\u9054\u5230\u4efb\u610f\u7a0b\u5ea6\u8907\u96dc\u7684\u4f5c\u54c1\u3002\u55ae\u7d14\u7684\u7bb1\u5f62\u8936\u5728\u7d19\u5f35\u9762\u7a4d\u904b\u7528\u4e0a\u7684\u6548\u7387\u5e38\u5e38\u4e26\u4e0d\u662f\u5f88\u597d\uff0c\u4f46\u662f\u5f9e 2000 \u5e74\u4ee3\u958b\u59cb\uff0c\u9678\u7e8c\u6709\u4e00\u4e9b\u647a\u7d19\u5bb6\u767c\u73fe\u4e86\u4e00\u4e9b\u647a\u75d5\u7d50\u69cb\u53ef\u4ee5\u6539\u9032\u7bb1\u5f62\u8936\u7684\u6548\u7387\uff0c\u800c\u6211\u5247\u548c\u4e00\u4f4d\u4e16\u754c\u7d1a\u647a\u7d19\u5927\u5e2b <a href=\"http:\/\/langorigami.com\/\">Robert J. Lang<\/a> \u5728 2017 \u5e74\u9593\u5171\u540c\u5c07\u90a3\u4e9b\u7d50\u69cb\u96c6\u5927\u6210\u4e26\u52a0\u4ee5\u63a8\u5ee3\u6210\u6211\u5011\u7a31\u4e4b\u70ba GOPS \u7684\u4e00\u5957\u7cfb\u7d71\uff0c\u4e26\u4e14\u5171\u540c\u5728 2018 \u5e74\u7684\u7b2c\u4e03\u5c46\u4e16\u754c\u647a\u7d19\u7814\u8a0e\u6703\uff08<a href=\"http:\/\/osme.info\/7osme\/\">7OSME<\/a>\uff09\u4e0a\u9762\u767c\u8868\u76f8\u95dc\u8ad6\u6587\uff0c\u800c BPS \u4e5f\u662f\u5f9e\u90a3\u6bb5\u6642\u671f\u958b\u59cb\u958b\u767c\u7684\uff0c\u56e0\u70ba\u6211\u5e0c\u671b\u80fd\u6709\u4e00\u500b\u61c9\u7528\u7a0b\u5f0f\u80fd\u5920\u81ea\u52d5\u5e6b\u4eba\u8a08\u7b97\u51fa GOPS \u7684\u7d44\u5408\uff0c\u4e26\u4e14\u65b9\u4fbf\u4f7f\u7528\u8005\u5feb\u901f\u5730\u5be6\u9a57\u5404\u7a2e\u53ef\u80fd\u7684\u914d\u7f6e\u4ee5\u627e\u51fa\u7406\u60f3\u7684\u8a2d\u8a08\u3002BPS \u662f\u5b8c\u5168\u514d\u8cbb\u800c\u4e14\u958b\u6e90\u7684 app\uff0c\u5b83\u7684\u539f\u59cb\u78bc\u53ef\u4ee5\u5728\u6211\u7684 <a href=\"https:\/\/github.com\/MuTsunTsai\/box-pleating-studio\">GitHub<\/a> \u4e0a\u9762\u627e\u5230\u3002<\/p>\n<p>\u5f9e\u8edf\u9ad4\u5de5\u7a0b\u7684\u89d2\u5ea6\u4f86\u770b\uff0c\u6211\u76f8\u4fe1 BPS \u5c0d\u65bc\u60f3\u8981\u958b\u767c web app \u7684\u4eba\u4f86\u8aaa\u6703\u662f\u4e00\u500b\u6709\u610f\u601d\u4e14\u5b8c\u6574\u7684\u7bc4\u672c\uff1b\u5b83\u6574\u5408\u4e86\u8a31\u591a\u6280\u8853\u4f86\u9054\u5230\u7406\u60f3\u7684\u4f7f\u7528\u8005\u9ad4\u9a57\u548c\u958b\u767c\u9ad4\u9a57\u3002\u800c\u5728\u672c\u7bc7\u4e2d\u6211\u5148\u5f9e PWA \u4f86\u8ac7\u8d77\u3002<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u5167\u5bb9\u76ee\u9304<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#PWA_%E7%B0%A1%E4%BB%8B\" >PWA \u7c21\u4ecb<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#Splash_screen\" >Splash screen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#%E6%A8%A1%E6%93%AC%E5%8E%9F%E7%94%9F%E9%AB%94%E9%A9%97\" >\u6a21\u64ec\u539f\u751f\u9ad4\u9a57<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#%E5%88%A4%E6%96%B7%E5%9F%B7%E8%A1%8C%E7%92%B0%E5%A2%83\" >\u5224\u65b7\u57f7\u884c\u74b0\u5883<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"PWA_%E7%B0%A1%E4%BB%8B\"><\/span>PWA \u7c21\u4ecb<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>BPS \u662f\u4ee5 PWA\uff08Progressive Web App\uff0c\u6f38\u9032\u5f0f\u7db2\u8def\u61c9\u7528\u7a0b\u5f0f\uff09\u7684\u5f62\u5f0f\u6253\u9020\u7684 app\uff0c\u7c21\u55ae\u4f86\u8aaa\uff0cPWA \u5c31\u662f\u4e00\u7a2e\u7528\u7db2\u9801\uff08\u4ea6\u5373 HTML + CSS + JavaScript \u7684\u7d44\u5408\uff09\u4f86\u7522\u751f\u8fd1\u4f3c\u65bc\u539f\u751f\u61c9\u7528\u7a0b\u5f0f\u5916\u89c0\u548c\u9ad4\u9a57\u7684\u6280\u8853\u3002PWA \u672c\u8eab\u96d6\u7136\u53ea\u662f\u7db2\u9801\uff0c\u4f46\u662f\u53ef\u4ee5\u9054\u5230\uff1a<\/p>\n<ol>\n<li>\u53ef\u4ee5\u5b89\u88dd\u6210\u4e00\u500b\u5177\u6709\u684c\u9762\u5716\u793a\u7684\u7368\u7acb\u61c9\u7528\u7a0b\u5f0f\uff0c\u5916\u89c0\u4e0a\u8207\u4e00\u822c\u61c9\u7528\u7a0b\u5f0f\u7121\u7570\u3002<\/li>\n<li>\u6253\u958b\u7684\u6642\u5019\u6703\u6709 splash screen\uff08\u5373\u555f\u52d5\u756b\u9762\uff1b\u624b\u6a5f\u9650\u5b9a\uff09\u3002<\/li>\n<li>\u53ef\u4ee5\u63a5\u6536\u63a8\u64ad\u8a0a\u606f\u3002<\/li>\n<li>\u53ef\u4ee5\u555f\u7528\u80cc\u666f\u540c\u6b65\u529f\u80fd\uff08\u9019\u9ede\u662f\u4e00\u822c\u7684 WebView \u7121\u6cd5\u505a\u5230\u7684\uff09\u3002<\/li>\n<li>\u5229\u7528 <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Service_Worker_API\" target=\"_blank\">Service Worker<\/a> \u4f86\u5b8c\u5168\u63a7\u5236\u6a94\u6848\u7684\u5feb\u53d6\u6a5f\u5236\u4e26\u9054\u5230\u81ea\u52d5\u66f4\u65b0\u548c\u96e2\u7dda\u4f7f\u7528\u3002<\/li>\n<\/ol>\n<p>\u6b64\u5916\uff0c\u7531\u65bc\u5b83\u672c\u8eab\u78ba\u5be6\u53ea\u662f\u7db2\u9801\uff0c\u6240\u4ee5\u4e00\u6a23\u53ef\u4ee5\u5728\u4e00\u822c\u7684\u700f\u89bd\u5668\u4e2d\u958b\u555f\u3001\u800c\u4e14\u53ef\u4ee5\u5b8c\u5168\u8de8\u5e73\u53f0\u3002\u7576\u521d\u6211\u6703\u9078\u64c7\u8b93 BPS \u8d70\u4e0a PWA \u7684\u8def\u7dda\uff0c\u4e3b\u8981\u5c31\u662f\u56e0\u70ba\u6211\u60f3\u9054\u5230\u5b8c\u5168\u7684\u8de8\u5e73\u53f0\u3002\u5982\u679c\u6211\u7684\u76ee\u6a19\u53ea\u662f\u684c\u6a5f\uff0c\u6211\u53ef\u80fd\u6703\u6539\u9078\u7528 <a href=\"https:\/\/www.electronjs.org\/\" target=\"_blank\">Electron<\/a>\uff0c\u56e0\u70ba\u66ab\u6642 Electron \u5728\u4e00\u4e9b\u5c0f\u65b9\u9762\u4e0a\u7684\u4f7f\u7528\u8005\u9ad4\u9a57\u53ef\u4ee5\u6bd4 PWA \u66f4\u597d <sup id=\"fnref1:1\"><a href=\"#fn:1\" class=\"footnote-ref\">1<\/a><\/sup>\uff0c\u53ea\u4e0d\u904e Electron \u4e26\u4e0d\u652f\u63f4\u624b\u6a5f\uff0c\u800c\u6211\u5f9e\u4e00\u958b\u59cb\u5c31\u5f88\u5e0c\u671b\u53ef\u4ee5\u8b93 BPS \u5728\u624b\u6a5f\u4e0a\u8dd1\u3002\u5c31\u7d50\u679c\u4f86\u8aaa\uff0c\u51fa\u4e4e\u6211\u539f\u672c\u610f\u6599\u5730\uff0cBPS \u5176\u5be6\u6709 2\/3 \u7684\u4f7f\u7528\u8005\u90fd\u662f\u7528\u624b\u6a5f\u5728\u57f7\u884c BPS\uff0c\u4e0d\u6789\u8cbb\u6211\u5c0d\u65bc\u628a\u624b\u6a5f\u7248\u7d66\u505a\u597d\u7684\u5805\u6301\u3002<\/p>\n<p>\u76ee\u524d\u56b4\u683c\u4f86\u8aaa\uff0c\u53ea\u6709\u4e09\u500b\u700f\u89bd\u5668\u652f\u63f4 PWA \u7684\u7368\u7acb\u5b89\u88dd\u529f\u80fd\uff0c\u5c31\u662f Chrome\uff08\u9664\u4e86 iPhone \u4ee5\u5916\u7684\u7248\u672c\uff09\u3001\u684c\u6a5f\u7248\u7684 Edge\uff08\u56e0\u70ba\u540c\u70ba Chromium \u6838\u5fc3\uff09\u548c iOS \u7248\u7684 Safari\u3002\u7528\u5176\u5b83\u7684\u700f\u89bd\u5668\u6253\u958b PWA \u7db2\u7ad9\u7684\u6642\u5019\u53ea\u80fd\u5728\u700f\u89bd\u5668\u5167\u90e8\u64cd\u4f5c\u800c\u4e0d\u80fd\u5b89\u88dd\u3002\u4e0d\u904e\uff0c\u6709\u4e00\u6d3e\u7684\u4eba\u9810\u6e2c PWA \u6703\u662f\u672a\u4f86\u7684\u4e00\u5927\u8da8\u52e2\uff0c\u6240\u4ee5\u6216\u8a31\u672a\u4f86\u6703\u6709\u66f4\u5b8c\u6574\u7684\u5168\u9762\u652f\u63f4\u3002<\/p>\n<p>\u53ea\u662f\u5728\u90a3\u4e4b\u524d\uff0c\u76ee\u524d PWA \u7684\u898f\u683c\u66ab\u6642\u662f\u5206\u6210\u5169\u5927\u6d3e\u5404\u884c\u5176\u9053\uff1bChromium \u9019\u4e00\u6d3e\u7684\u8a2d\u5b9a\u662f\u5beb\u5728 manifest.json \u6a94\u6848\u88e1\u9762\uff0c\u800c iOS \u9019\u4e00\u6d3e\u7684\u8a2d\u5b9a\u662f\u5beb\u5728 <code>&lt;meta&gt;<\/code> \u548c <code>&lt;link&gt;<\/code> \u6a19\u7c64\u4e4b\u4e0a\u7684\u3002\u73fe\u968e\u6bb5\u9664\u4e86\u5169\u7a2e\u90fd\u5beb\u4e0a\u53bb\u4e4b\u5916\u6c92\u6709\u4ec0\u9ebc\u5225\u7684\u8fa6\u6cd5\uff0c\u800c\u9019\u771f\u7684\u6709\u9ede\u9ebb\u7169\uff0c\u5c24\u5176 iOS \u7684 splash screen \u7adf\u7136\u9084\u8981\u6bcf\u4e00\u7a2e\u89e3\u6790\u5ea6\u90fd\u7d66\u5b83\u51fa\u4e00\u5f35\u5716\u7247\u9019\u4e00\u9ede\u5be6\u5728\u662f\u2026\u2026\u6709\u4eba\u8aaa\u90a3\u53eb\u81ea\u8a02\u5ea6\u9ad8\u4f46\u6211\u53eb\u5b83\u767d\u75f4\u5230\u5bb6\uff08\u5e78\u597d\u7db2\u8def\u4e0a\u6709<a href=\"https:\/\/progressier.com\/pwa-icons-and-ios-splash-screen-generator\">\u81ea\u52d5\u7522\u751f\u5668<\/a>\u53ef\u4ee5\u7528\uff09\u3002<\/p>\n<p>\u95dc\u65bc PWA \u7684\u8a2d\u5b9a\u65b9\u5f0f\uff0c\u7db2\u8def\u4e0a\u5df2\u7d93\u6709\u5f88\u591a\u6559\u5b78\u6587\u7ae0\u4e86\uff08\u4f8b\u5982 <a href=\"https:\/\/blog.techbridge.cc\/2018\/10\/13\/pwa-in-action\/\">PWA \u5be6\u6230\u7d93\u9a57\u5206\u4eab<\/a>\uff09\uff0c\u6240\u4ee5\u9019\u908a\u6211\u4e0d\u6703\u91cd\u8907\u540c\u6a23\u7684\u5167\u5bb9\u3002\u6211\u9019\u7bc7\u4f5c\u70ba BPS \u7cfb\u5217\u7684\u958b\u982d\uff0c\u6211\u53ea\u8ac7\u5e7e\u500b\u6211\u5be6\u969b\u4e0a\u958b\u4f7f\u7528 PWA \u4e4b\u5f8c\u6ce8\u610f\u5230\u7684\u5e7e\u4ef6\u4e8b\u3002<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Splash_screen\"><\/span>Splash screen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u9996\u5148\uff0c\u95dc\u65bc iOS \u4e0a\u9762\u7684 splash screen \u5716\u6a94\uff0c\u5373\u4f7f\u6a94\u6848\u6216 HTML \u8a2d\u5b9a\u6709\u6240\u66f4\u65b0\uff0ciOS \u4e5f\u4f3c\u4e4e\u4e26\u4e0d\u6703\u81ea\u52d5\u8ddf\u8457\u66f4\u65b0\uff0c\u800c\u662f\u8981\u7b49\u4f7f\u7528\u8005\u91cd\u65b0\u5b89\u88dd PWA \u5230\u684c\u9762\u4e0a\u624d\u6703\u751f\u6548\uff1b\u9019\u9ede\u6211\u4e26\u4e0d\u662f\u5f88\u78ba\u5b9a\uff0c\u56e0\u70ba\u6211\u4e5f\u6c92\u6709\u8a66\u8457\u4e00\u76f4\u7b49\u770b\u770b\u6703\u4e0d\u6703\u904e\u4e45\u4e00\u9ede\u5b83\u6703\u53bb\u81ea\u52d5\u66f4\u65b0\uff08\u5c31\u597d\u50cf\u6211\u77e5\u9053 Chromium \u662f\u6bcf\u9694\u4e00\u9663\u5b50\u624d\u6703\u6aa2\u67e5 manifest.json \u6709\u6c92\u6709\u66f4\u65b0\uff09\uff0c\u4f46\u662f\u7e3d\u4e4b\u6211\u5efa\u8b70\u5404\u4f4d\u6700\u597d\u4e00\u958b\u59cb\u5c31\u628a splash screen \u7684\u5716\u6a94\u756b\u5230\u5b9a\u4f4d\u7136\u5f8c\u76e1\u91cf\u5c31\u4e0d\u8981\u53bb\u52d5\u6bd4\u8f03\u4fdd\u96aa\u3002<\/p>\n<p>\u518d\u4f86\u5c31\u662f splash screen \u5230\u5e95\u6703\u6301\u7e8c\u958b\u555f\u591a\u4e45\u3002\u5176\u5be6\u4e0d\u7ba1\u662f Chromium \u9084\u662f Safari\uff0c\u9019\u500b splash screen \u90fd\u4e0d\u662f\u55ae\u7d14\u958b\u8457\u6bba\u6642\u9593\u7528\u7684\uff0c\u800c\u662f\u771f\u7684\u5728 splash screen \u958b\u555f\u7684\u540c\u6642\u80cc\u5f8c\u7684\u7279\u88fd WebView <sup id=\"fnref1:2\"><a href=\"#fn:2\" class=\"footnote-ref\">2<\/a><\/sup> \u5c31\u5df2\u7d93\u6709\u5728\u8f09\u5165\u7db2\u9801\u4e86\u3002\u4f46\u662f\u7db2\u8def\u4e0a\u5e38\u5e38\u6709\u4eba\u7591\u60d1\u300c\u600e\u9ebc splash screen \u8dd1\u4e86\u90a3\u9ebc\u4e45\u9084\u6c92\u5207\u63db\u5230\u756b\u9762\u300d\uff0c\u57fa\u672c\u4e0a\u9019\u901a\u5e38\u662f\u56e0\u70ba\u7db2\u9801\u5728\u555f\u52d5\u7684\u6642\u5019\u8f09\u5165\u4e86\u592a\u591a\u8cc7\u6e90\u3001\u6216\u8dd1\u4e86\u592a\u4e45\u7684 JavaScript \u7684\u7de3\u6545\u3002\u96d6\u7136\u81f3\u4eca\u6211\u6c92\u6709\u627e\u5230\u6b63\u5f0f\u7684\u6587\u4ef6\u8aaa\u660e\u5230\u5e95 splash screen \u4ec0\u9ebc\u6642\u5019\u6703\u6d88\u5931\uff0c\u4f46\u662f\u6839\u64da\u6211\u81ea\u5df1\u7684\u5be6\u9a57\uff0c\u7b54\u6848\u4f3c\u4e4e\u662f\u300c\u81f3\u5c11\u7b49\u5230 DOMContentLoaded \u4e8b\u4ef6\u89f8\u767c\u3001\u7136\u5f8c JavaScript \u7684\u57f7\u884c\u5806\u758a\u5b8c\u5168\u6e05\u7a7a\u300d\u3002\u6240\u4ee5\uff0c\u70ba\u4e86\u4e0d\u8981\u8b93 splash screen \u7dad\u6301\u592a\u4e45\uff0c\u4e00\u500b\u8fa6\u6cd5\u662f\u5728 DOMContentLoaded \u4e8b\u4ef6\u88e1\u9762\u8a2d\u7f6e\u4e00\u500b setTimeout\uff0c\u7136\u5f8c\u624d\u662f\u5728\u88e1\u9762\u57f7\u884c\u5269\u4e0b\u7684\u3001\u9700\u8981\u8dd1\u6bd4\u8f03\u4e45\u7684 JavaScript \u6216\u8cc7\u6e90\u8f09\u5165\uff08\u7576\u7136\uff0c\u70ba\u4e86\u8f03\u597d\u7684 UX\uff0c\u6b64\u6642\u61c9\u8a72\u5728\u756b\u9762\u4e0a\u986f\u793a\u7c21\u55ae\u7684\u300c\u8f09\u5165\u4e2d\u300d\u52d5\u756b\uff09\u3002\u9019\u500b setTimeout \u6703\u88fd\u9020\u51fa\u57f7\u884c\u5806\u758a\u7684\u65b7\u9ede\uff0c\u8b93 PWA \u77e5\u9053 splash screen \u53ef\u4ee5\u6d88\u5931\u4e86\u3002<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E6%A8%A1%E6%93%AC%E5%8E%9F%E7%94%9F%E9%AB%94%E9%A9%97\"><\/span>\u6a21\u64ec\u539f\u751f\u9ad4\u9a57<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u70ba\u4e86\u9054\u5230\u8207\u539f\u751f app \u540c\u6a23\u7684\u4f7f\u7528\u8005\u9ad4\u9a57\uff0c\u4e00\u500b\u4e00\u5b9a\u8981\u505a\u7684\u8a2d\u7f6e\u662f\u8981\u95dc\u6389 pinch-zoom\uff08\u5169\u6307\u7e2e\u653e\uff09\u3002\u539f\u672c\u4e00\u822c\u7684\u7db2\u9801\u90fd\u662f\u5141\u8a31\u9019\u500b\u52d5\u4f5c\u7684\uff0c\u4f46\u662f\u57fa\u672c\u4e0a\u6c92\u6709\u4efb\u4f55\u539f\u751f\u7684 app \u6703\u8b93\u4f7f\u7528\u8005\u9019\u9ebc\u505a\uff0c\u6240\u4ee5\u9019\u500b\u4e00\u5b9a\u8981\u95dc\u6389\u3002\u5f88\u591a\u6587\u4ef6\u6703\u63d0\u5230\u985e\u4f3c\u9019\u4e00\u884c\u7684\u8a2d\u7f6e\uff1a<\/p>\n<pre><code class=\"language-html\">&lt;meta name=&quot;viewport&quot; content=&quot;initial-scale=1.0, maximum-scale=1.0, width=device-width, user-scalable=no&quot;&gt;<\/code><\/pre>\n<p>\u4f46\u662f\u76f8\u4fe1\u6211\u9019\u4e00\u884c\u5341\u4e4b\u516b\u4e5d\u662f\u6c92\u6709\u7528\u7684\uff0c\u73fe\u5728\u7684\u700f\u89bd\u5668\u5927\u591a\u90fd\u4e0d\u6703\u7406\u6703\u5b83 <sup id=\"fnref1:useless\"><a href=\"#fn:useless\" class=\"footnote-ref\">3<\/a><\/sup>\u3002\u771f\u6b63\u6709\u7528\u7684\u61c9\u8a72\u662f CSS \u7684\uff1a<\/p>\n<pre><code class=\"language-css\">* {\n    touch-action: pan-x pan-y;\n}<\/code><\/pre>\n<p>\u9019\u6a23\u5beb\u8868\u793a\u4f7f\u7528\u8005\u53ef\u4ee5\u505a\u6a6b\u5411\uff08pan-x\uff09\u6216\u7e31\u5411\uff08pan-y\uff09\u7684\u6372\u52d5\u624b\u52e2\uff0c\u4f46\u662f\u4e0d\u80fd\u4f7f\u7528\u7e2e\u653e\uff08pinch-zoom\uff09\u3002\u5982\u679c\u4f60\u8ddf\u6211\u4e00\u6a23\u9023\u6372\u52d5\u4e5f\u8981\u95dc\u6389\uff0c\u90a3\u5c31\u76f4\u63a5\u5beb <code>touch-action: none;<\/code> \u5c31\u597d\u4e86\u3002<\/p>\n<p>\u672c\u4f86\u61c9\u8a72\u662f\u9019\u6a23\u5c31\u597d\u4e86\uff0c\u504f\u504f\u4e8b\u60c5\u6c92\u6709\u90a3\u9ebc\u7c21\u55ae\u3002\u4e00\u76f4\u5230 Safari 13 \u7248\u4e4b\u524d\uff0cSafari \u7684 <code>touch-action<\/code> \u53ea\u652f\u63f4\u5169\u7a2e\u8a2d\u5b9a\uff1a<code>auto<\/code> \u6216\u662f <code>manipulation<\/code>\uff0c\u4e5f\u5c31\u662f\u8aaa\u4e0a\u9762\u9019\u6a23\u505a\u504f\u504f\u5c0d\u820a\u7248\u7684 Safari \u662f\u7121\u6548\u7684\u3002\u6216\u554f\uff1a\u70ba\u4ec0\u9ebc\u6703\u6709\u820a\u7248\u7684 Safari\uff1f\u4f7f\u7528\u8005\u4e0d\u6703\u66f4\u65b0\u55ce\uff1f\u7b54\u6848\u5f88\u7c21\u55ae\uff0c\u56e0\u70ba\u4ed6\u6216\u8a31\u62ff\u8457\u7684\u662f\u4e00\u652f\u6839\u672c\u7121\u6cd5\u7e7c\u7e8c\u66f4\u65b0 Safari \u7684\u624b\u6a5f\uff08\u4f8b\u5982 iPhone 6\uff09\uff0c\u800c\u76f8\u4fe1\u6211\uff0c\u66ab\u6642\u9019\u6a23\u7684\u4eba\u53e3\u9084\u662f\u7121\u6cd5\u5b8c\u5168\u5ffd\u8996\u7684\uff1b\u6211\u672c\u4f86\u4e5f\u4ee5\u70ba\u4e0d\u6703\u9047\u5230\uff0c\u4f46\u662f\u6211\u7684 app \u624d\u4e0a\u7dda\u6c92\u5e7e\u5929\u5c31\u6709\u4eba\u8ddf\u6211\u53cd\u61c9\u4ed6\u5e0c\u671b\u4e5f\u80fd\u5920\u5728\u4ed6\u7684 iPhone 6 \u4e0a\u4f7f\u7528\u3002<\/p>\n<p>\u90a3\u600e\u9ebc\u8fa6\u5462\uff1f\u53ea\u597d\u7528\u8001\u5957\u7684\u8fa6\u6cd5\uff0c\u6355\u6349\u4e8b\u4ef6\u4e26\u4e14\u963b\u6b62\u9810\u8a2d\u884c\u70ba\u4e86\uff1a<\/p>\n<pre><code class=\"language-js\">\/\/ \u7531\u65bc\u6211\u5728 CSS \u6a94\u6848\u88e1\u9762\u628a touch-action \u8a2d\u5b9a\u6210 none\uff0c\n\/\/ \u5982\u679c\u6700\u5f8c\u5be6\u969b\u4e0a\u7684\u6a23\u5f0f\u4e26\u4e0d\u662f none \u5c31\u77e5\u9053\u700f\u89bd\u5668\u4e26\u4e0d\u63a5\u53d7\u8a72\u503c\uff0c\n\/\/ \u4ea6\u5373\u6211\u9047\u5230\u820a\u7248 Safari \u4e86\u3002\u65b0\u7684\u700f\u89bd\u5668\u5247\u4e0d\u53d7\u9019\u6bb5\u7a0b\u5f0f\u5f71\u97ff\u3002\nif(getComputedStyle(document.body).touchAction != &quot;none&quot;) {\n    document.body.addEventListener(&quot;touchmove&quot;, e =&gt; {\n        \/\/ \u4e0d\u5141\u8a31\u4efb\u4f55\u5169\u6307\u4ee5\u4e0a\u7684\u64cd\u4f5c\n        if(e.touches.length &gt; 1) e.preventDefault();\n    });\n}<\/code><\/pre>\n<p>\u53e6\u4e00\u500b\u53ef\u4ee5\u4f7f\u5f97 PWA \u66f4\u63a5\u8fd1\u539f\u751f\u884c\u70ba\u7684 CSS \u8a2d\u7f6e\u6709\uff1a<\/p>\n<pre><code class=\"language-css\">\/* \u53ea\u8981\u4e0d\u662f\u8f38\u5165\u6846\uff0c\u90fd\u4e0d\u5141\u8a31\u9577\u6309\u9078\u53d6\u6587\u5b57 *\/\n*:not(input):not(textarea) {\n    user-select: none;\n    -moz-user-select: none;\n    -webkit-user-select: none;\n    -ms-user-select: none;\n}<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"%E5%88%A4%E6%96%B7%E5%9F%B7%E8%A1%8C%E7%92%B0%E5%A2%83\"><\/span>\u5224\u65b7\u57f7\u884c\u74b0\u5883<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u6211\u5011\u53ef\u4ee5\u5229\u7528 CSS \u7684 <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/@media\/display-mode\"><code>display-mode<\/code><\/a> \u4f86\u5340\u5206\u7576\u524d\u7684\u74b0\u5883\u662f\u5426\u70ba PWA\u3001\u6216\u8005\u662f\u5728\u700f\u89bd\u5668\u4e2d\u958b\u555f\uff1b\u5176\u503c\u5982\u679c\u70ba <code>standalone<\/code> \u5c31\u662f PWA\uff0c\u800c\u82e5\u70ba <code>browser<\/code> \u5247\u662f\u700f\u89bd\u5668\u3002\u6240\u4ee5\u4f8b\u5982\u6211\u5011\u53ef\u4ee5\u5b9a\u7fa9\u5982\u4e0b\u7684 class \u4f86\u6307\u5b9a\u67d0\u4e9b\u5167\u5bb9\u662f\u53ea\u6709\u5728\u700f\u89bd\u5668\u7576\u4e2d\u624d\u986f\u793a\u7684\uff08\u4f8b\u5982\u63d0\u793a\u4f7f\u7528\u8005\u5b89\u88dd PWA\uff09\uff1a<\/p>\n<pre><code class=\"language-css\">@media (display-mode: standalone) {\n    .browser-only {\n        display: none;\n    }\n}<\/code><\/pre>\n<p>\u800c\u6211\u5011\u4e5f\u53ef\u4ee5\u5728\u7a0b\u5f0f\u78bc\u4e2d\u985e\u4f3c\u5730\u4e0b\u5224\u65b7\uff1b\u6ce8\u610f\u5b57\u4e32\u88e1\u9762\u5fc5\u9808\u52a0\u4e0a\u62ec\u865f\uff1a<\/p>\n<pre><code class=\"language-js\">if(matchMedia(&quot;(display-mode: standalone)&quot;).matches) {\n    \/\/ \u5728 PWA \u6a21\u5f0f\u7576\u4e2d\u8981\u505a\u7684\u4e8b\u60c5\n}<\/code><\/pre>\n<p>\u5927\u6982\u5c31\u662f\u9019\u6a23\uff1b\u4e0b\u4e00\u7bc7\u6211\u518d\u4f86\u8ac7\u6bd4\u8f03\u5927\u7684\u4e3b\u984c\uff0cService Worker\u3002<\/p>\n<div class=\"footnotes\">\n<hr \/>\n<ol>\n<li id=\"fn:1\">\n<p>\u4f8b\u5982 Electron \u5c0d\u65bc\u539f\u751f\u7684\u300c\u5b58\u6a94\u300d\u5c0d\u8a71\u65b9\u584a\u7684\u547c\u53eb\u66f4\u52a0\u76f4\u89ba\uff0c\u800c\u5728 web \u4e0a\u982d\u5373\u4f7f\u7528\u4e0a\u6700\u65b0\u7684 <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/File_System_Access_API\" target=\"_blank\">File System Access API<\/a> \u4e5f\u9084\u662f\u6703\u6709\u4e00\u9ede\u5c0f\u5c0f\u7684\u5b89\u5168\u6027\u9650\u5236\u554f\u984c\uff1b\u8a73\u60c5\u53ef\u53c3\u8003\u672c\u7cfb\u5217\u7684<a href=\"https:\/\/abstreamace.com\/sglab\/2021\/06\/15\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-10%ef%bc%9a%e6%aa%94%e6%a1%88%e5%84%b2%e5%ad%98\/\">\u7b2c\u5341\u7bc7<\/a>\u3002&#160;<a href=\"#fnref1:1\" rev=\"footnote\" class=\"footnote-backref\">&#8617;<\/a><\/p>\n<\/li>\n<li id=\"fn:2\">\n<p>\u5982\u540c\u6211\u7a0d\u65e9\u63d0\u5230\u7684\uff0c\u9019\u500b WebView \u8ddf\u4e00\u822c\u7684 WebView \u4e0d\u592a\u4e00\u6a23\uff0c\u88e1\u9762\u7684 Service Worker \u53ef\u4ee5\u6709\u66f4\u591a\u7684\u6b0a\u9650\u3002&#160;<a href=\"#fnref1:2\" rev=\"footnote\" class=\"footnote-backref\">&#8617;<\/a><\/p>\n<\/li>\n<li id=\"fn:useless\">\n<p>\u4e0d\u904e\u9019\u4e00\u884c\u96d6\u7136\u5c0d PWA \u6c92\u4ec0\u9ebc\u7528\uff0c\u5c0d\u5176\u5b83\u7684\u7db2\u9801\u5012\u662f\u6709\u6a5f\u6703\u6709\u7528\uff0c\u56e0\u70ba\u6211\u4ecd\u820a\u6709\u770b\u5230\u4e00\u4e9b\u61c9\u7528\u7a0b\u5f0f\u5167\u5d4c\u700f\u89bd\u5668\u6703\u53c3\u8003\u9019\u4e00\u884c\u3002&#160;<a href=\"#fnref1:useless\" rev=\"footnote\" class=\"footnote-backref\">&#8617;<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u904e\u53bb\u6709\u597d\u4e00\u9663\u5b50\u6211\u6c92\u6709\u5728\u9019\u908a\u65b0\u589e\u65b0\u7684\u6587\u7ae0\uff0c\u4e3b\u8981\u662f\u56e0\u70ba\u6211\u81ea\u5df1\u5728\u5de5\u4f5c\u4e4b\u9918\u9678\u7e8c\u958b\u767c\u4e86\u5169\u5e74\u591a\u7684\u61c9\u7528\u7a0b\u5f0f <a href=\"https:\/\/bp-studio.github.io\/\" target=\"_blank\">Box Pleating Studio<\/a>\uff08\u4e0b\u7c21\u7a31 <a href=\"https:\/\/bp-studio.github.io\/\" target=\"_blank\">BPS<\/a>\uff09\u767c\u5c55\u5f97\u5982\u706b\u5982\u837c\u3001\u4e14\u6211\u8981\u8d95\u8457\u5728\u53bb\u5e74\u5e95\u524d\u6b63\u5f0f\u767c\u8868\u4e0a\u7dda\u800c&#8230; &raquo; <a class=\"read-more-link\" href=\"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/\">\u95b1\u8b80\u5168\u6587<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,50],"tags":[51,21,12,56,52,57],"class_list":["post-198","post","type-post","status-publish","format-standard","hentry","category-front-end","category-dev","tag-bps","tag-chrome","tag-css","tag-edge","tag-pwa","tag-safari"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA - \u661f\u541b\u7814\u7a76\u5ba4<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-\u958b\u767c\u5206\u4eab\u4e4b-1\uff1apwa\/\" \/>\n<meta property=\"og:locale\" content=\"zh_TW\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA - \u661f\u541b\u7814\u7a76\u5ba4\" \/>\n<meta property=\"og:description\" content=\"\u904e\u53bb\u6709\u597d\u4e00\u9663\u5b50\u6211\u6c92\u6709\u5728\u9019\u908a\u65b0\u589e\u65b0\u7684\u6587\u7ae0\uff0c\u4e3b\u8981\u662f\u56e0\u70ba\u6211\u81ea\u5df1\u5728\u5de5\u4f5c\u4e4b\u9918\u9678\u7e8c\u958b\u767c\u4e86\u5169\u5e74\u591a\u7684\u61c9\u7528\u7a0b\u5f0f Box Pleating Studio\uff08\u4e0b\u7c21\u7a31 BPS\uff09\u767c\u5c55\u5f97\u5982\u706b\u5982\u837c\u3001\u4e14\u6211\u8981\u8d95\u8457\u5728\u53bb\u5e74\u5e95\u524d\u6b63\u5f0f\u767c\u8868\u4e0a\u7dda\u800c... &raquo; \u95b1\u8b80\u5168\u6587\" \/>\n<meta property=\"og:url\" content=\"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-\u958b\u767c\u5206\u4eab\u4e4b-1\uff1apwa\/\" \/>\n<meta property=\"og:site_name\" content=\"\u661f\u541b\u7814\u7a76\u5ba4\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-14T02:50:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-13T05:29:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/abstreamace.com\/sglab\/wp-content\/uploads\/2021\/01\/image-1623378951680.png\" \/>\n<meta name=\"author\" content=\"\u6751\u54e5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005:\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6751\u54e5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9810\u4f30\u95b1\u8b80\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/\"},\"author\":{\"name\":\"\u6751\u54e5\",\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/#\\\/schema\\\/person\\\/ce693dccce8e7877f768f171b97df0de\"},\"headline\":\"BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA\",\"datePublished\":\"2021-01-14T02:50:37+00:00\",\"dateModified\":\"2023-04-13T05:29:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/\"},\"wordCount\":145,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/#\\\/schema\\\/person\\\/ce693dccce8e7877f768f171b97df0de\"},\"image\":{\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/image-1623378951680.png\",\"keywords\":[\"BPS\",\"Chrome\",\"CSS\",\"Edge\",\"PWA\",\"Safari\"],\"articleSection\":[\"\u524d\u7aef\u6280\u8853\",\"\u958b\u767c\u5206\u4eab\"],\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/\",\"url\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/\",\"name\":\"BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA - \u661f\u541b\u7814\u7a76\u5ba4\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/image-1623378951680.png\",\"datePublished\":\"2021-01-14T02:50:37+00:00\",\"dateModified\":\"2023-04-13T05:29:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/#breadcrumb\"},\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/#primaryimage\",\"url\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/image-1623378951680.png\",\"contentUrl\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/image-1623378951680.png\",\"width\":1039,\"height\":658},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/2021\\\/01\\\/14\\\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/#website\",\"url\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/\",\"name\":\"\u661f\u541b\u7814\u7a76\u5ba4\",\"description\":\"\u71b1\u611b\u958b\u6e90\u958b\u767c\u7684\u5168\u7aef\u5de5\u7a0b\u5e2b\u90e8\u843d\u683c\",\"publisher\":{\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/#\\\/schema\\\/person\\\/ce693dccce8e7877f768f171b97df0de\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-TW\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/abstreamace.com\\\/sglab\\\/#\\\/schema\\\/person\\\/ce693dccce8e7877f768f171b97df0de\",\"name\":\"\u6751\u54e5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/edfd94bec8b67286068ace1dbbee073411195f91272f71bbf1ba7e0284b26c22?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/edfd94bec8b67286068ace1dbbee073411195f91272f71bbf1ba7e0284b26c22?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/edfd94bec8b67286068ace1dbbee073411195f91272f71bbf1ba7e0284b26c22?s=96&d=mm&r=g\",\"caption\":\"\u6751\u54e5\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/edfd94bec8b67286068ace1dbbee073411195f91272f71bbf1ba7e0284b26c22?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/abstreamace.com\\\/sglab\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA - \u661f\u541b\u7814\u7a76\u5ba4","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-\u958b\u767c\u5206\u4eab\u4e4b-1\uff1apwa\/","og_locale":"zh_TW","og_type":"article","og_title":"BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA - \u661f\u541b\u7814\u7a76\u5ba4","og_description":"\u904e\u53bb\u6709\u597d\u4e00\u9663\u5b50\u6211\u6c92\u6709\u5728\u9019\u908a\u65b0\u589e\u65b0\u7684\u6587\u7ae0\uff0c\u4e3b\u8981\u662f\u56e0\u70ba\u6211\u81ea\u5df1\u5728\u5de5\u4f5c\u4e4b\u9918\u9678\u7e8c\u958b\u767c\u4e86\u5169\u5e74\u591a\u7684\u61c9\u7528\u7a0b\u5f0f Box Pleating Studio\uff08\u4e0b\u7c21\u7a31 BPS\uff09\u767c\u5c55\u5f97\u5982\u706b\u5982\u837c\u3001\u4e14\u6211\u8981\u8d95\u8457\u5728\u53bb\u5e74\u5e95\u524d\u6b63\u5f0f\u767c\u8868\u4e0a\u7dda\u800c... &raquo; \u95b1\u8b80\u5168\u6587","og_url":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-\u958b\u767c\u5206\u4eab\u4e4b-1\uff1apwa\/","og_site_name":"\u661f\u541b\u7814\u7a76\u5ba4","article_published_time":"2021-01-14T02:50:37+00:00","article_modified_time":"2023-04-13T05:29:12+00:00","og_image":[{"url":"https:\/\/abstreamace.com\/sglab\/wp-content\/uploads\/2021\/01\/image-1623378951680.png","type":"","width":"","height":""}],"author":"\u6751\u54e5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005:":"\u6751\u54e5","\u9810\u4f30\u95b1\u8b80\u6642\u9593":"2 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#article","isPartOf":{"@id":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/"},"author":{"name":"\u6751\u54e5","@id":"https:\/\/abstreamace.com\/sglab\/#\/schema\/person\/ce693dccce8e7877f768f171b97df0de"},"headline":"BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA","datePublished":"2021-01-14T02:50:37+00:00","dateModified":"2023-04-13T05:29:12+00:00","mainEntityOfPage":{"@id":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/"},"wordCount":145,"commentCount":2,"publisher":{"@id":"https:\/\/abstreamace.com\/sglab\/#\/schema\/person\/ce693dccce8e7877f768f171b97df0de"},"image":{"@id":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#primaryimage"},"thumbnailUrl":"https:\/\/abstreamace.com\/sglab\/wp-content\/uploads\/2021\/01\/image-1623378951680.png","keywords":["BPS","Chrome","CSS","Edge","PWA","Safari"],"articleSection":["\u524d\u7aef\u6280\u8853","\u958b\u767c\u5206\u4eab"],"inLanguage":"zh-TW","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/","url":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/","name":"BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA - \u661f\u541b\u7814\u7a76\u5ba4","isPartOf":{"@id":"https:\/\/abstreamace.com\/sglab\/#website"},"primaryImageOfPage":{"@id":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#primaryimage"},"image":{"@id":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#primaryimage"},"thumbnailUrl":"https:\/\/abstreamace.com\/sglab\/wp-content\/uploads\/2021\/01\/image-1623378951680.png","datePublished":"2021-01-14T02:50:37+00:00","dateModified":"2023-04-13T05:29:12+00:00","breadcrumb":{"@id":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#breadcrumb"},"inLanguage":"zh-TW","potentialAction":[{"@type":"ReadAction","target":["https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/"]}]},{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#primaryimage","url":"https:\/\/abstreamace.com\/sglab\/wp-content\/uploads\/2021\/01\/image-1623378951680.png","contentUrl":"https:\/\/abstreamace.com\/sglab\/wp-content\/uploads\/2021\/01\/image-1623378951680.png","width":1039,"height":658},{"@type":"BreadcrumbList","@id":"https:\/\/abstreamace.com\/sglab\/2021\/01\/14\/bps-%e9%96%8b%e7%99%bc%e5%88%86%e4%ba%ab%e4%b9%8b-1%ef%bc%9apwa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/abstreamace.com\/sglab\/"},{"@type":"ListItem","position":2,"name":"BPS \u958b\u767c\u5206\u4eab\u4e4b 1\uff1aPWA"}]},{"@type":"WebSite","@id":"https:\/\/abstreamace.com\/sglab\/#website","url":"https:\/\/abstreamace.com\/sglab\/","name":"\u661f\u541b\u7814\u7a76\u5ba4","description":"\u71b1\u611b\u958b\u6e90\u958b\u767c\u7684\u5168\u7aef\u5de5\u7a0b\u5e2b\u90e8\u843d\u683c","publisher":{"@id":"https:\/\/abstreamace.com\/sglab\/#\/schema\/person\/ce693dccce8e7877f768f171b97df0de"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/abstreamace.com\/sglab\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-TW"},{"@type":["Person","Organization"],"@id":"https:\/\/abstreamace.com\/sglab\/#\/schema\/person\/ce693dccce8e7877f768f171b97df0de","name":"\u6751\u54e5","image":{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/secure.gravatar.com\/avatar\/edfd94bec8b67286068ace1dbbee073411195f91272f71bbf1ba7e0284b26c22?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/edfd94bec8b67286068ace1dbbee073411195f91272f71bbf1ba7e0284b26c22?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/edfd94bec8b67286068ace1dbbee073411195f91272f71bbf1ba7e0284b26c22?s=96&d=mm&r=g","caption":"\u6751\u54e5"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/edfd94bec8b67286068ace1dbbee073411195f91272f71bbf1ba7e0284b26c22?s=96&d=mm&r=g"},"sameAs":["https:\/\/abstreamace.com\/sglab"]}]}},"_links":{"self":[{"href":"https:\/\/abstreamace.com\/sglab\/wp-json\/wp\/v2\/posts\/198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/abstreamace.com\/sglab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abstreamace.com\/sglab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abstreamace.com\/sglab\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/abstreamace.com\/sglab\/wp-json\/wp\/v2\/comments?post=198"}],"version-history":[{"count":1,"href":"https:\/\/abstreamace.com\/sglab\/wp-json\/wp\/v2\/posts\/198\/revisions"}],"predecessor-version":[{"id":312,"href":"https:\/\/abstreamace.com\/sglab\/wp-json\/wp\/v2\/posts\/198\/revisions\/312"}],"wp:attachment":[{"href":"https:\/\/abstreamace.com\/sglab\/wp-json\/wp\/v2\/media?parent=198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abstreamace.com\/sglab\/wp-json\/wp\/v2\/categories?post=198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abstreamace.com\/sglab\/wp-json\/wp\/v2\/tags?post=198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}