oogle Web Design 10.0今天正式發布。它是適用于 Windows、Mac 和 Linux 的 HTML5 內容生成工具,憑借著用戶友好性和豐富的輔助功能,而成為各種 Web 內容的首選。Google Web Design 10.0.0.1123 版本新增了 4 個方面的功能,并修正了 12 個問題。
如果您已連接到互聯網,Google Web Designer 會在啟動時自動進行更新。您也可以手動下載最新版本。
版本 10.0.0.1123 中的新功能
身份驗證方面的更改
我們實現了一種更安全的 Google 帳號登錄方式。現在,登錄流程將在默認瀏覽器內完成。
在“圖片處理”對話框中剪裁圖片
現在,您可以在“圖片處理”對話框中剪裁圖片。Google Web Designer 會建議要裁剪的區域,并且您可以手動進行調整。
發布到 Campaign Manager 360
我們推出了一個新的發布選項,以便您將廣告素材直接上傳到 Campaign Manager 360。使用此選項時,您需要指定廣告客戶,并自行決定是否指定廣告系列。
貼靠方面的更改
我們添加了多種貼靠模式,以便您通過貼靠對象,使對象具有相同大小或保持相同間距。您還可以更改貼靠閾值和范圍。
版本 10.0.0.1123 中修正的問題和進行的改進組件
動態數據綁定現在可用于粒子效果組件、視差組件和旋渦組件。
[過渡效果圖庫] 修正了以下問題:當使用預設的“重復次數”值時,自動播放會無限循環。
鋼筆工具
修正了以下問題:在繪制嵌套形狀時,定位點會移動。
修正了以下問題:無法正常撤消或重做最左邊或最上方的定位點。
其他
[代碼視圖] 現在,在 Google Web Designer 以外修改圖片后,相應圖片會在設計視圖中更新。
[事件] 修正了以下問題:當文件中包含事件時,“全部保存”命令不起作用。
[組] 在俯視圖或側視圖中繪制的組的高度現在會四舍五入為 0 像素,而非使用指數表示。
[資源庫] 修正了以下問題:無法按日期排序。
[發布到云端硬盤]“發布到云端硬盤”現在接受使用空位置/未設置的位置作為根目錄。
[模板] 修正了以下問題:會導致模板庫中缺少尺寸的模板加載順序問題。
[時間軸] 修正了以下問題:右鍵點擊標簽下的圖層會觸發相應標簽的彈出式菜單,而非觸發圖層的彈出式菜單。
[自適應] 修正了以下問題:無法在“CSS”面板中向默認媒體規則添加樣式替換。
已知問題
僅限 Safari:繪圖中的 元素會阻止裁剪路徑遮罩動畫。
Chrome 和 Opera:當主元素包含 3D 轉換后的子元素時,裁剪路徑遮罩無法正確渲染。
對自定義 Google Web Designer 元素(gwd-image
、gwd-video
、gwd-audio
、gwd-iframe
、gwd-page
和gwd-pagedeck
)的引用可能無法按預期運行。了解如何更新您的引用。
當您直接在瀏覽器中打開 .html 源文件時,時間軸動畫事件(如暫停或循環播放)不能正常運行。這是預料之中的問題,因為時間軸動畫 CSS 是在預覽或發布文檔時生成的。解決方案:使用“預覽”按鈕;或者先在本地發布文檔,然后在瀏覽器中查看發布的文件。
缺少文件擴展名且文件名中包含點號的圖片文件無法導入到資源庫中。臨時解決方法:為文件名添加文件擴展名(如 .png)。
過時的視頻驅動程序可能會導致啟動時出現黑屏。請嘗試更新視頻驅動程序。如果無效,請在重新啟動之前停用 GPU 渲染,具體方法是:退出 Google Web Designer,然后按照下文中與您的操作系統對應的說明操作:
Windows:向注冊表中的HKEY_CURRENT_USER\Software\Google\Web Designer\Settings
添加一個名為disable-gpu-rendering
的 DWORD32 值,并將此值設為1
。
Mac:向~/Library/Preferences/com.google.WebDesigner.plist
添加一個名為disable-gpu-rendering
且值為YES
的布爾值行,或者在終端運行defaults write com.google.WebDesigner.plist disable-gpu-rendering -bool true
。
Linux:向~/.local/share/google-web-designer/preferences/settings.conf
添加一個名為disable-gpu-rendering
且值為true
的行。(如果[Settings]
部分不存在,您將需要先創建該部分。)
修一臺慧生7寸視頻機,有聲音,黑屏。細看屏上有圖像,是背光不亮。拆機檢查背光電路輸出只有0.3V,經檢查為背光升壓電路損壞。因為手里沒有這種集成塊,決定外加小板。
找到一塊車用MP3電源轉換小板,用的是MC34063A集成塊。因為原板是12V變5V的降壓型電源,而本機要3.7升9V的升壓型電源,按計算取值,找到元件(部分元件用原板的),對照圖紙進行改裝。除電解2只和電感1只用普通直立安裝元件外,其他元件用貼片元件,在原基板上改線安裝。電路板輸出接在屏線上(要斷開屏線上原來的LED供電焊點,以脫開與電路板的聯接);供電找到原主板上受控的電壓點接線。安裝完成后通電測試,完全達到計算指標。實測輸出8.96V,電流58.5mA.
用厚一些的紙把升壓小板包好,外纏透明膠,放在機內空位置,就算做好絕緣了。經使用,屏幕亮度正常。
原文:https://www.jdwx.info/thread-779664-1-1.html
家電維修論壇是專業的家電維修技術交流社區,學習電子電路基礎知識,分享家電維修技術資料,交流家電維修技巧經驗,獲取更多精彩內容請關注家電維修論壇。
HTTP協議范圍請求允許服務器只返回一部分資源到客戶端,范圍請求在傳送大的媒體文件,或者與文件下載的斷點續傳功能搭配使用時非常有用。
涉及知識點:nginx http協議
前端用戶反饋,在Mac或iOS下Safari瀏覽器無法播放視頻,但Chrome等瀏覽器又可以,視頻由HTML5的Video標簽實現,簡化示例代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> <body> <video width="30%" controls="true" x5-playsinline="true" src="http://example.com/demo.mp4"></video> </body> </html>
分別通過Safari與Chrome瀏覽器打開,并同時開啟開發者模式:
safari訪問情況,視頻無法打開:
chrome訪問情況,視頻打開正常:
對比之下容易發現發現請求頭略有不通之處,主要差別在于Range的值。
safari為:
Range: bytes=0-1
chrome為:
Range: bytes=0-
大概率問題圍繞在Range請求頭相關。
在HTTP協議請求中,可通過設置請求頭:Range,實現范圍數據獲取,告知服務器返回資源的哪一部分。請求某范圍內的資源可以更有效地對大型對象發出請求(分段對其發出請求),或者更有效地從傳輸錯誤中恢復(允許客戶端請求沒有完成的那部分資源)。
在一個Range請求頭中,支持三種請求方式:單一范圍查詢、多重范圍查詢、條件范圍查詢。
單一范圍查詢:
Range: <unit>=<range-start>- Range: <unit>=<range-start>-<range-end>
多重范圍查詢:
Range: <unit>=<range-start>-<range-end>, <range-start>-<range-end> Range: <unit>=<range-start>-<range-end>, <range-start>-<range-end>, <range-start>-<range-end>
條件范圍查詢:
If-Range: entity-tag If-Range: HTTP-date Range: <unit>=<range-start>-<range-end>
條件范圍查詢需配合If-Range實現,當字段值中的條件得到滿足時,Range頭字段才會起作用,HTTP-date為資源Last-Modified時間,entity-tag一般設置為資源的md5值(不管Last-Modified或etag,首先需確保資源存在該響應頭)。
并不是所有服務端都接受范圍請求,但很多都可以。服務端可以通過在響應中包含Accept-Ranges請求頭向客戶端說明可以接受范圍請求,這個值在HTTP1規范中只定義了bytes,表示范圍的單位是以字節計算的。
Accept-Ranges: bytes 范圍請求的單位是 bytes (字節) Accept-Ranges: none 不支持范圍請求,其等同于沒有返回此頭部,因此很少使用
-r, --range RANGE 獲取資源數據的范圍,從字節哪里到哪里 -I, --head 只獲取響應頭信息,不捕獲響應體,也就是Head請求
登陸緩存服務器,查看nginx.conf中的proxy_cache設置
nginx.conf設置示例:
proxy_cache_key $host$uri; proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;
如上所示,假設$host=example.com,uri=/hello/world.jpg,則緩存在本地磁盤可通過如下算法獲得:
echo -n 'example.com/hello/world.jpg' | md5sum d34eacb50650153d77e82aded8de91a0
即存在路徑,路徑0與1a根據levels設置得出:
/data/nginx/cache/0/1a/d34eacb50650153d77e82aded8de91a0
獲取緩存前20行數據(主要是查看后端真實服務器的響應頭)
strings /data/nginx/cache/0/1a/d34eacb50650153d77e82aded8de91a0 | head -n 20
手工刪除緩存:
rm /data/nginx/cache/0/1a/d34eacb50650153d77e82aded8de91a0 | head -n 20
以上步驟將會在以下實驗中不斷使用到。
通過curl命令進行模擬測試:
請求的資源字節范圍為:1000-2000。結果響應狀態碼為200,通過Content-Length可以看出,實際返回了整個資源,根據理論知識可知,實際是緩存服務器忽略了來自客戶端的Range請求頭。
可知緩存服務器并不支持Range請求范圍查詢。
通過設置nginx的add_header指令對緩存服務器添加請求頭
add_header "Accept-Ranges" bytes;
返回了Accept-Ranges請求頭,但實際還是不支持Range請求范圍查詢。
通過緩存服務器,獲取緩存文件前20行,如下:
實際緩存在服務器中的數據也不包含Accept-Ranges請求頭。
在真實服務器上主動設置返回Accpet-Ranges請求頭,同時清除緩存服務器上的緩存數據。
Accept-Ranges: bytes
查看緩存服務器上的數據,來自源服務器的響應頭:
緩存在服務器上的數據包含Accept-Ranges,也就是來自源服務端的響應包含此請求頭,此時緩存服務器對客戶端是支持Ranges的范圍請求了。
由實驗3可知,當緩存不存在時,即時客戶端為范圍請求數據,緩存在本地的數據均為整體,而非部分。
通過nginx官方的ngx_http_proxy_module文檔,存在如下關鍵描述:
If caching is enabled, the header fields “If-Modified-Since”, “If-Unmodified-Since”, “If-None-Match”, “If-Match”, “Range”, and “If-Range” from the original request are not passed to the proxied server.
大意如下:如果設置了緩存,則不會對客戶端請求中的“If-Modified-Since”, “If-Unmodified-Since”, “If-None-Match”,“If-Match”, “Range”, “If-Range”這幾個請求頭傳遞到后端真實服務器。
所以客戶端通過范圍請求資源,如果緩存服務器沒有數據,那緩存服務器將會去源站獲取整個數據并緩存,而不管客戶端是否為范圍請求。
此時緩存服務器支持Range范圍請求之后,在通過瀏覽器查看效果:
由于擔心涉及版權,播放效果的圖片取消了。
此時不在是原先的黑屏,可正常播放視頻了。
由源服務器程序實現范圍請求功能,返回給緩存服務器時需明確包含Accept-Ranges頭,如果值非bytes,為其他自定義類型,則兩端均需對該類型的實現。
如果緩存服務器是基于nginx1.7.7及以上版本,可通過設置proxy_force_ranges參數值為on來實現,默認為off,而不管后端服務是否設置Accept-Ranges請求頭。
Syntax: proxy_force_ranges on | off;
Default: proxy_force_ranges off;
Context: http, server, location
This directive appeared in version 1.7.7.
結合當前業務情況,最終評估通過方案2實現。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。