整合營銷服務商

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

          免費咨詢熱線:

          異步 JavaScript—第 6 部分

          異步 JavaScript—第 6 部分

          第 5 部分中,我們研究了 Chrome 的 V8 引擎如何執行代碼。我們使用 Chrome 的調試工具來跟蹤 JavaScript 的執行順序。調試工具工具是推理異步代碼的非常強大的方法,可以提高您的工作效率。在這一部分中,我們將利用我們的知識來解決現實世界的異步問題,例如從服務器中提取數據。


          從服務器拉取數據

          讓我們從使用異步 JavaScript 解決現實世界的問題開始。

          許多開發人員面臨的一個問題是從服務器中提取數據。讓我們用一個極端的例子來說明使用同步 JavaScript 獲取數據的一個主要問題。

          想象一下,您正在也門國內使用您的全能歌舞網絡應用程序。根據我膚淺的批判性分析,也門的平均網速不到 1mbps。現在,進一步假設您的網絡應用程序需要下載大約 30MB 的相對較小的數據集。將這些數字插入在線計算器,下載相對較小的數據集需要 240 秒。圖1。

          這是同步 JavaScript 的致命弱點。用戶別無選擇,只能等待 240 秒再做其他事情。該網絡應用程序在下載過程中完全阻塞且非交互。這是一個糟糕的用戶體驗的常見例子,應該不惜一切代價避免!

          240 秒似乎是一個極端的例子,但許多可用性研究表明,沒有互動體驗的僅僅幾秒鐘就會導致用戶去其他地方。請記住,每一秒都對您的應用程序的成功至關重要。時間不僅僅關乎性能——時間對于出色的用戶體驗也至關重要。

          請記住 - 讓您的應用程序具有響應性。不要讓您的用戶感到沮喪,也不要讓他們等待!

          想想這個。您有多少次對那些在頁面呈現時凍結的應用程序感到沮喪?考慮到大量的阻止網站繼續以糟糕的用戶體驗困擾互聯網,我想這種體驗此時已經深深地根植于你的生活中。

          不幸的是,這些阻止站點是常態而不是例外。為了減少產生阻塞站點的可能性,我們可以使用 Fetch web-api。


          使用 Fetch API 異步獲取數據

          fetch api 從網絡上獲取資源。 當諸如 Web 瀏覽器之類的 HTTP 客戶端發出 HTTP 請求時,該請求的目標稱為“資源”。

          我們使用 URI 或統一資源標識符獲取或修改 Web 上的資源。 此 URI 通常會在您的 Web 瀏覽器中顯示為地址,用于標識邏輯或物理資源。

          讓我們看看 fetch 的實際應用。 我們將使用 fetch 從設置為響應 HTTP 請求的遠程服務器獲取帖子。

          打開 Chrome 并在地址欄中輸入 about:blank 以獲取最小的 html 頁面。 圖 2. 將圖 2 中的代碼復制到開發人員工具的控制臺中,然后按 Enter。

          然后 fetch() 將向 http://jsonplaceholder.typicode.com/posts 發出請求,該請求返回一個承諾。 如果請求完成,則使用 Response 對象履行承諾。 如果請求失敗,則 Promise 被拒絕。 在這種情況下,我們可以看到 promise 已經實現并返回了一個表示唯一帖子的對象數組。 圖 3。

          如果您從開發人員工具中打開網絡選項卡,您可以收集有關請求和響應對象的豐富信息。 圖 4。

          恭喜。 您已經對 Internet 上的資源發出了第一個異步請求。

          些一行代碼大多數會是CSS規則中的一個聲明。在某些情況下,選擇器可能不只是一個簡單的元素;在其他情況下,我會添加額外的聲明作為建議以獲得更好的體驗,因此使它們不再嚴格意義上是一行代碼——對于這些情況我提前道歉。

          這些一行代碼中的一些更多是個人選擇,并不適用于所有網站(并非每個人都使用表格或表單)。我會簡要描述每一個,它們的作用(附帶示例圖片),以及為什么我喜歡使用它們。請注意,示例圖片可能會在前面例子的基礎上進行構建。

          以下是這些一行代碼的作用概述:

          1. 限制視口內的內容寬度
          2. 增加正文文本大小
          3. 增加文本行之間的間距
          4. 限制圖片寬度
          5. 限制內容中文本的寬度
          6. 以更平衡的方式包裹標題
          7. 表單控件顏色與頁面樣式匹配
          8. 易于跟隨的表格行
          9. 表格單元格和標題的間距
          10. 減少動畫和移動

          限制視口內的內容寬度

          body {
            max-width: clamp(320px, 90%, 1000px);
            /* 額外建議 */
            margin: auto;
          }

          添加這個一行代碼將使內容大小占據視口的90%,將其寬度限制在320到1000像素之間(可以隨意更新最小和最大值)。

          這個改變將自動使您的內容看起來更好看。它將不再是一個龐大的文本塊,而是看起來更有結構和組織。如果你還給body添加margin: auto;,內容將在頁面上居中。兩行代碼讓內容看起來好多了。

          并排比較變化。左側(之前):一大塊文本。右側(之后):兩側有內邊距的文本。仍然很大但有更多空間。

          對齊和包含的文本比一大堆文本看起來更好

          增加文本大小

          body {
            font-size: 1.25rem;
          }

          讓我們面對現實:瀏覽器默認的16px字體大小是小的。雖然這可能是基于我變老的個人觀點

          一個快速的解決方案是增加body中的字體大小。由于級聯和瀏覽器使用的em單位,網頁上的所有文本將自動增大。

          并排比較。左側(之前):帶有文本的列。右側(之后):帶有更大字體的文本列。

          更大的文本大小使閱讀更容易。

          增加行間距

          body {
            line-height: 1.5;
          }

          另一個提高可讀性和打破可怕的文本墻的偏好是增加段落和內容中行與行之間的間距。我們可以輕松地用line-height屬性做到這一點。

          并排比較。左側(之前):帶有文本的列。右側(之后):帶有文本的列(間距更大)。

          行間的空間打破了文本墻和白色的河流。

          這個選擇(與前兩個一起)將顯著增加我們頁面的垂直大小,但我向你保證文本將更易讀,對所有用戶更友好。

          限制圖片大小

          img {
            max-width: 100%;
          }

          圖片的大小應該大致與它們將占據的空間相當,但有時我們會遇到真正長的圖片,導致內容移位并創建水平滾動。

          避免這種情況的一種方法是設置最大寬度為100%。雖然這不是一個萬無一失的解決方案(邊距和內邊距可能影響寬度),但在大多數情況下它都能工作。

          并排比較。左側(之前):圖片溢出內容大小導致出現滾動條。右側(之后):圖片調整到內容大小。

          防止水平滾動并使圖片與文本更好地流動

          限制內容中文本的寬度

          p {
            max-width: 65ch;
          }

          避免可怕的文本墻和空白河流的另一種策略是應用這種樣式,即使與body中的最大寬度結合使用。這可能看起來不必要,有時甚至很奇怪,因為段落會比其他元素更窄。但我喜歡這種對比和較短的行。

          60ch或65ch的值在過去對我很有效,但你可以使用不同的值并調整最大寬度以滿足你的需求。在你的網頁上玩耍和探索它的外觀。

          并排比較。左側(之前):文本占據整個寬度。右側(之后):文本占據大部分寬度。

          將較大的文本塊分成較小的塊以提高可讀性

          以更平衡的方式包裹標題

          h1, h2, h3, h4, h5, h6 {
            text-wrap: balance;
          }

          標題是網頁結構的重要部分,但由于它們的大小較大和內容較短,可能看起來很奇怪。特別是當它們占據多于一行時。一個有幫助的解決方案是使用text-wrap來平衡標題。

          雖然balance似乎是text-wrap最流行的值,但它不是唯一的。我們也可以使用pretty,如果需要的話,它會將額外的一個詞移到最后一行,而不是平衡所有內容。不幸的是,pretty目前還沒有廣泛的支持。

          并排比較。左側(之前):一個標題占據兩行,第二行只有1個詞。右側(之后):標題占據寬度相似的兩行。

          平衡的換行可以改善可見性和可讀性

          表單控件顏色與頁面樣式匹配

          body {
            accent-color: #080; /* 使用你喜歡的顏色 */
          }

          另一個小變化,雖然沒有顯著影響,但能讓東西看起來更好。直到最近,我們還不能用CSS樣式化原生表單控件,只能使用瀏覽器顯示。但情況已經改變。

          開發一個完整的組件可能很麻煩,但使用這個一行代碼可以設置一個更接近網站其他部分和設計系統的顏色,這是可能的,而且很簡單。

          并排比較。左側(之前):表單控件是默認的藍色。右側(之后):表單控件顏色與標題和鏈接顏色匹配(綠色)。

          正是這些小細節(和顏色)讓頁面融為一體

          易于跟隨的表格行

          :is(tbody, table) > tr:nth-child(odd) {
            background: #0001; /* 或者對于深色主題使用 #fff1 */
          }

          我們必須使用表格來顯示數據,而不是用于布局。但默認情況下表格很丑,我們不希望數據看起來很丑。特別是,有一件事有助于組織數據并使其更易讀,那就是有一個帶有交替深淺行的斑馬表格。

          上面顯示的一行代碼使得實現這種樣式變得容易。它可以簡化為只有tr而不考慮tbody或table父元素,但這也會應用到表格頭部,這可能不是我們想要的。這是一個品味問題。

          并排比較。左側(之前):所有表格行都是白色的。右側(之后):偶數表格行略微深色。

          更容易水平跟隨數據(按行)

          表格單元格和標題的間距

          td, th {
            padding: 0.5em; /* 或 0.5em 1em... 或任何不為0的值 */
          }

          讓表格更易訪問和更易讀的最后一個變化是通過給表格單元格和標題添加內邊距來稍微間隔內容。默認情況下,大多數瀏覽器沒有任何內邊距,不同單元格的文本相互接觸,使得區分一個單元格開始和另一個結束變得混亂。

          我們可以更改內邊距值以調整到我們喜歡的大小。然而,避免過度以防止不必要的滾動或太多空白空間。

          并排比較。左側(之前):表格單元格文本內容完全在一起。右側(之后):表格單元格內容明顯與其他表格單元格分開。

          更容易水平和垂直跟蹤數據

          減少動畫和移動

          @media (prefers-reduced-motion) {
            *, *::before, *::after {
              animation-duration: 0s !important;
              /* 額外建議 */
              transition: none !important;
              scroll-behavior: auto !important;
            }
          }

          好吧,好吧。這段代碼遠不止一行。它有一個一行版本(通過將動畫持續時間設置為零秒來移除動畫),但網頁上還有其他使元素移動的東西。

          通過在prefers-reduced-motion媒體查詢中設置這些聲明,我們將尊重用戶選擇減少移動的意愿。這種方法有些激進,因為它移除了所有移動,這可能不一定是用戶的意圖 - 它是"減少移動"而不是"無移動"。如果適當的話,我們仍然可以根據具體情況保留移動。

          并排比較。左側(之前):一個圖像在網頁上移動。右側(之后):圖像是靜態的。

          沒有動畫?沒問題!

          文接增強現實AR文化遺產保護經典案例解析(簡版·上)

          文物可視化復原、展示

          在文物當中存在大量的易損文物,這些文物都容易出現脆化、脫色、剝落等現象,即便人工修復后仍然很難長期用于研究與展示。利用AR的三維表現力,可以預先展現文物修復后的影像,從而檢驗修復技術、手段的可行性;進一步可以和視圖計算技術相結合,考察修復過程中的各項環節和修復后的耐久性,或者輔助文物修復過程;利用AR可以完好地展示文物,從而使文物實體保存在更加嚴密的環境中,有利于文物壽命的延長。

          • “洛陽天堂遺址” 保護展示工程

          作為一代女皇武則天的禮佛堂 ,“洛陽天堂遺址” 位于河南省洛陽市隋唐洛陽城國家遺址公園內。為了重現唐朝建筑技術的杰出成就,重建在遺址之上的新“天堂” 于 2014 年 4 月對游人開放。新“天堂” 并非歷史上天堂的原樣復制,而是一座集保護、 展示功能于一體的高塔建筑,用以展示和保護“天堂” 遺址。它很好地利用了基于投影的空間增強現實這一先進的數字化保護技術。由于基于投影的空間增強現實技術對定位的要求不高,而且也不需要對位置和方向進行實時跟蹤,游客可以根據自己所在位置的不同觀察到不一樣的三維虛擬影像。

          • 秦兵馬俑的數字化和虛擬修復

          看個體,每尊兵馬俑都富有極強的藝術感染力;看整體,8000余件陶俑構成了龐大的軍陣體系,再現2000余年前秦軍“奮擊百萬”氣吞山河的氣勢。但是,兵馬俑出土時,絕大部分就已支離破碎,我們所看到的大都是文物修復師的勞動成果。

          由北京師范大學信息科學與技術學院院長周明全教授主持的“文化遺產數字化與保護新技術的研究及應用”項目,針對中華文化遺產的保護需求,采用虛擬現實、圖形圖像處理等信息科學新技術,完成了多項文物數字化、文物虛擬復原修復、數字博物館、數字考古方面的科研項目,解決了文物的三維數字化真彩色信息的采集、基于網絡的虛擬現實瀏覽技術等關鍵技術問題,形成了系列的文化遺產數字化處理與保護的方法與科技成果,為文物保護、考古、古人類學的研究開辟了新的途徑。

          將AR、VR技術和文化遺產保護相結合,可以實現高精度、大規模、交互性強、受眾廣的文物和文化遺產修復、展示方式。

          • 龐貝古城的文化遺產數字化

          瑞士日內瓦大學研究人員研宄利用數字動畫、虛擬現實等數字技術,對代表歐洲文化特色的龐貝古城的有關活態傳統文化、文化事項進行數字化的視覺呈現,主要包括可視化、情境化的三維角色、三維動畫、虛擬古建筑場景、關鍵活態事件與體現當時特色文化元素的服飾、發型等虛擬重建與再現,并最終利用增強現實技術將這些虛擬的數字文化內容信息疊加在現實的龐貝古城文化遺跡環境中,使用戶能在真實的文化遺跡現場環境中體驗到遺跡背后的歷史情境。

          非物質文化遺產保護

          • 基于增強現實技術的宣紙文化傳播新模式

          宣紙技藝文化的媒體傳播主要模式遠遠滿足不了新媒介環境下受眾的需求和宣紙技藝文化傳承。因此,將宣紙這一活態技藝文化與科技相融合是當前宣紙保護與傳承發展的重要建設路徑之一,如:建立傳統手工紙發展史的數字資源庫等。基于增強現實技術的宣紙技藝文化系統可以不受時間空間限制, 實現虛實結合、 三維沉浸和實時互動傳播,能更高效地讓受眾感受、了解宣紙技藝文化,從而以全新的方式或路徑促進宣紙技藝以及更廣泛的非物質文化遺產傳承與傳播。


          • 佛山國家級非遺項目AR明信片

          該明信片以14張為一套,涵蓋佛山現有的國家級非物質文化遺產項目,由佛山市非物質文化遺產保護中心聯合佛山郵政發行,包含石灣陶塑技藝、粵劇、剪紙、木板年畫等。

          • 農業銀行2016“金猴獻瑞”金鈔、銀鈔

          2016丙申猴年即將來臨,2015年12月10日,中國農業銀行于2016春天行動啟動儀式上發布了“金猴獻瑞”貴金屬新品(3D壓歲金、壓歲銀),產品外觀設計以《大鬧天宮》中齊天大圣為主體形象,分為1克金、2克金和5克銀三款。

          產品包裝獨具特色,是一本“活”的動畫書,配有幻彩卡片,客戶通過軟件(視+AR)掃描能看到《大鬧天宮》的立體情景劇場,可以陪孩子、家人一起重溫經典。


          文化導游、導覽

          博物館可看的展品雖多,但是能展示給游客的信息量卻很少,許多展品背后都蘊藏著一些非常有趣的信息,這些信息大多從導游的講解中獲取。由于導游的缺乏及費用問題,參觀者大都只能走馬觀花,游覽質量不高。AR技術增強和擴展用戶對周圍環境的感知,為用戶提供一種更為人性化的人機交互方式。我們可以看到早期的兩個AR導覽應用,雖然簡單,但是大大豐富了參觀的體驗。

          • 羅馬的PALAZZO MADAMA

          意大利羅馬的PALAZZO MADAMA,博物館全程增強現實技術伴隨,體驗滲透在館內的每一個地方,無論是進門指示,還是路標,無論是視頻講解,還是全息投影人物,都給人們在博物館的旅程充滿了樂趣。

          視頻:http://v.qq.com/iframe/player.html?vid=e01696nfh21&tiny=0&auto=0

          • 博物館智能眼鏡導覽

          來看一段HoloLens的導覽演示 視頻http://v.qq.com/iframe/player.html?vid=c0309mojamt&tiny=0&auto=0

          寓教于樂

          • 格薩爾王AR游戲

          國家科技支撐計劃項目“基于增強現實互動的西藏主題動漫游戲關鍵技術集成與應用示范”子課題“增強現實互動關鍵技術研究”(項目編號:2012BAH61F03)。作為我國北方游牧民族三大史詩之一的《格薩爾王》,歷史悠久,結構宏偉,內容豐富,流傳廣泛。數字素材通過游戲引擎加工成可以和用戶進行互動的 APP,分別構建了知識性游戲和娛樂性游戲兩個模塊。

          • 紐約MoMA博物館

          紐約MoMA博物館AR應用很有意思。來自全球的參與者可以提前在線上提交自己的作品。而它們隨后被內嵌于博物館的虛擬空間里,成為了一個疊加在常規展之上但又不甚相關的“隱藏展覽”。現場的參觀者必須通過特定的APP來召喚出這些有意思的展品。

          • 土著舞蹈游戲

          美國西北大學的和澳大利亞德邦大學探索了一種AR利用技術、運動捕捉技術將土著人的舞蹈、土著人體彩繪和土著人原來的居住環境等土著傳統文化進行可視化呈現的游戲娛樂裝置,用于幫助、激發小孩積極參與土著文化傳統知識的探索和文化互動式體驗。

          系統通過攝像頭捕捉體驗者的舞蹈動作,虛擬的數字化土著人角色也會隨著體驗者的舞蹈動作和土著音樂節奏跳起土著舞蹈,同時,原始的土著人原生態空間的數字化三維場景也疊加在場景中。

          • 傳統繪畫涂涂樂

          2012年,新西蘭坎特伯雷大學人機界面實驗室進行了一項將技術應用于傳統繪畫藝術的研究,幵發了一種集教育性、娛樂性與能激發小孩想象力的互動文化創意產品,如圖所示。圖中a和b傳統的手繪作品,c和d為通過智能終端顯示的虛實融合的場景,在手繪作品上疊加了的具有一定情節故事內容的數字三維角色動畫、三維場景、背景聲音等數字內容信息。值得一提到是,四年前的他們就已經使用了涂涂樂技術。

          • 獻給雅典娜的禮物

          大英博物館三星數碼探索中心里展示了另一個有意思的應用“獻給雅典娜的禮物”。這個APP設計了一個冒險游戲。參與者通過解開一個個小謎團來打開通往下一個故事的鎖。通過這樣的形式,參與者在學習的過程中一點一點接受相關展品的知識。

          該APP借助平板設備,幫助孩子們更好地參觀帕特農神廟館。 例如,當他們走到狄俄尼索斯的雕塑前時,屏幕中就會出現與狄俄尼索斯相關的信息和故事。在他們到達特定地點時,這款APP還設計了諸如拼圖游戲等互動環節,完成游戲后可以解鎖新的內容。

          • 航空博物館AR游戲

          應用增強現實等技術 ,設計適合兒童的小游戲 ,向兒童介紹飛機相關的小常識 ,豐富多彩 ,寓教于樂 。具體包括“挑戰九星戰機 ”、“ 3D飛機拆解組裝 ”、“ 游覽藏品中猜飛機” 、“空中加油飛行模擬”等各種各樣的互動體驗游戲 。 例 如 ,挑 戰九星戰機 ,每次隨機產生綜合展館內9架飛機 ,成功掃描飛機前二維碼 ,即可 點亮相對應的五角星 ,全部成功掃描即挑戰成功 。

          • 聯想new glass古今穿越,解密尋寶

          聯想去年9月攜手周村共同舉行的一場極致穿越體驗之旅,這也是全球首次智能眼鏡落地智慧旅游的活動。穿越者們除了要瘋狂購物外,還需要去周村燒餅博物館、大染坊、喬家大院等8處景點簽到,而簽到方法就是用聯想new glass掃描景點牌匾。佩戴new glass還能看到視頻、圖片等內容講解,感受店鋪的歷史。

          游戲是很好的宣傳和普及文化遺產的教育方式

          當然還有類似pokemon go

          就有人做了山海經版的

          醬測評|AR增強現實游戲《山海經GO》,銷魂得不行不行

          http://mp.weixin.qq.com/s?__biz=MzIwMDUyMDEzOQ==&tempkey=kaUyLMUVolwnLxu5H0EIrVkx2lQPPpjGXeUI3nli6EKGs%2BwXSK6rzkd6P%2BRTcS29ihscP4OxWOQ1w4LRDbe1SsGKVrF6spUjEm0%2BKgjUjMFqoo99yV5mT%2F9ghY3IC0EY36KzeKnAlqMElk%2BXqpZVrg%3D%3D&#rd

          請忽視BGM

          或許

          也能給你一點啟發

          AR+遺產保護,不只是這些

          文化是根,也是寶,在科技飛速發展、物質生活更加豐富的今天,是我們心靈的寄托和港灣。文化遺產不僅僅只是埋在土里、躺在博物館的死氣沉沉,它其實是生活隨處可見的歷史縮影,只是被我們忽視或誤解。當文化遺產與AR碰撞,激出了更多的火花,當然不只是以上羅列。建筑不老,遺產永恒,我們和AR在路上


          AR醬原創,轉載務必注明

          我們的微信號AR醬(ARchan_TT)


          主站蜘蛛池模板: 糖心vlog精品一区二区三区| 久久AAAA片一区二区| 合区精品久久久中文字幕一区| 国产一区二区三区四| 日韩一区二区久久久久久| 国产精品一区二区三区久久| 少妇激情AV一区二区三区| 在线观看精品视频一区二区三区| 国产激情一区二区三区在线观看 | 秋霞电影网一区二区三区| 日韩亚洲AV无码一区二区不卡 | 国产高清视频一区二区| 少妇精品久久久一区二区三区| 91一区二区三区| 国产亚洲一区二区三区在线不卡 | 国产情侣一区二区| 亚洲中文字幕在线无码一区二区 | 亚洲AV网一区二区三区| 日韩av无码一区二区三区| 亚洲无线码在线一区观看| 一区二区免费国产在线观看| 免费看AV毛片一区二区三区| 日韩AV片无码一区二区不卡| 女同一区二区在线观看| 国产aⅴ一区二区三区| 精品无码一区二区三区水蜜桃| 精品一区二区高清在线观看| 精品国产精品久久一区免费式| 国产在线精品一区二区在线看| 麻豆国产在线不卡一区二区| 国产福利一区视频| 国产在线无码一区二区三区视频| 日本不卡在线一区二区三区视频| 日产亚洲一区二区三区| 亚洲欧美日韩一区二区三区在线 | 人体内射精一区二区三区| 国产乱码一区二区三区| 日韩精品中文字幕视频一区| 真实国产乱子伦精品一区二区三区 | 国产自产在线视频一区| 国产精品一区12p|