ºìÁªLinuxÃÅ»§
Linux°ïÖú

Chrome 58²âÊÔ°æ·¢²¼£¬ÓÐÄÄЩÐÂÌØÐÔ£¿

·¢²¼Ê±¼ä:2017-03-26 21:53:09À´Ô´:ºìÁª×÷Õß:roeta
³ý·ÇÁíÍâ×¢Ã÷£¬·ñÔòÏÂÃæ½éÉܵĸü¸Ä¾ùÊÊÓÃÓÚ×îРChrome Beta ÇþµÀ°æ£¨Android¡¢Chrome ²Ù×÷ϵͳ¡¢Linux¡¢Mac ºÍ Windows£©¡£

IndexedDB 2.0

ÏÖÔÚ£¬Chrome Íêȫ֧³Ö IndexedDB 2.0 ±ê×¼£¬ÔÚ´Ëä¯ÀÀÆ÷ÖУ¬¿ÉÒÔ¸üÇáËɵش¦Àí´óÊý¾Ý¼¯¡£IDB 2.0 ²ÉÓÃеļܹ¹¹ÜÀíºÍÅúÁ¿²Ù×÷·½·¨£¬¹ÊÕÏ´¦Àí·½Ê½Ò²¸ü±ê×¼»¯¡£

ÍøÕ¾Êý¾Ý¿âµÄ½á¹¹¶ÔÐÔÄܵÄÓ°ÏìºÜ´ó£¬¶øÇÒºÜÄѸı䡣Ϊ¼ò»¯¸üвÙ×÷£¬ÏÖÔÚ£¬ÔÚÖØ¹¹ºó£¬¿ÉÒÔÔ­µØÖØÃüÃû¶ÔÏó´æ´¢ºÍË÷Òý¡£ÍøÕ¾Ò²¿ÉÒÔʹÓøü¶à×ÔÈ»¹Ø¼ü×Ö£¬¶øÎÞÐèµ£ÐÄÐÔÄÜÊܵ½Ó°Ï죬ÒòΪ¶þ½øÖƹؼü×Ö¿ÉѹËõ×Ô¶¨Ò幨¼ü×Ö±íʾ¡£

ʹÓà getKey() ºÍ openKeyCursor() ·½·¨£¬¿ÉÒÔ¼ò»¯Êý¾Ý¼ìË÷£¬ÔÚÖ»ÐèÒ»¸öÊý¾Ý¿â¹Ø¼ü×Öʱ£¬»¹¿ÉÌáÉýÐÔÄÜ¡£Ê¹ÓÃÐ嵀 continuePrimaryKey() Óα귽·¨£¬¿ÉÒÔ¸üÇáËɵطָî¿çÊÂÎñ¡¢¿çÒ³Ãæ¼ÓÔØµÄ´óÊý¾Ý·ÃÎÊ£¬¶ø²»±Øµ£ÐijöÏÖÖØ¸´µÄÖ÷¼ü¡£getAll() ºÍ getAllKeys() ·½·¨ÎÞÐèʹÓÃÓα꣬¼´¿ÉÅúÁ¿»Ö¸´Õû¸öÊý¾Ý¼¯¡£
¸Ä½ø iframe µ¼º½

×Ô¶¯Öض¨ÏòÒ³ÃæµÄµÚÈý·½ÄÚÈÝ£¨ÀýÈç¹ã¸æ£©¿ÉÄܸøÓû§´øÀ´À§ÈÅ£¬´øÀ´°²È«ÎÊÌâ¡£Òò´Ë£¬¿ª·¢Õß¿ÉÒÔ½«µÚÈý·½ÄÚÈÝÖÃÓÚɳºÐ»¯µÄ iframes ÖУ¬±ÜÃâ³öÏÖ´Ë×´¿ö¡£µ«ÊÇ£¬ÔÚijЩÇé¿öÏ£¬Óë±ê×¼¹ã¸æÀàËÆ£¬µã»÷´ËÀàÄÚÈÝÐèÒªµ¼º½¶¥¼¶Ò³Ãæ¡£

Ϊ½â¾ö´ËÎÊÌ⣬Chrome 58 ÏÖÔÚÖ§³ÖÐ嵀 iframe ɳºÐ¹Ø¼ü×Ö allow-top-navigation-by-user-activation¡£´Ë¹Ø¼ü×ÖʹɳºÐ»¯µÄ iframes ÔÚÓû§½»»¥²Ù×÷´¥·¢Ê±Äܹ»µ¼º½¶¥¼¶Ò³Ã棬ͬʱ×èÖ¹×Ô¶¯Öض¨Ïò¡£
PWA ³Á½þʽȫÆÁÌåÑé

µ± Progressive Web App (PWA) ´Ó Android Ö÷ÆÁÄ»Æô¶¯Ê±£¬ÕâЩ PWA »áÒÔÒ»ÖÖÀàËÆÓÚ¶ÀÁ¢Ó¦ÓõÄģʽÆô¶¯£¬´ËģʽÏ»áÒþ²Ø¶à¹¦ÄÜ¿ò¡£ÕâÓÐÖúÓÚÓªÔìÒ»ÖÖ¸»ÓÐÎüÒýÁ¦µÄÓû§ÌåÑ飬²¢ÊÍ·ÅÆÁÄ»¿Õ¼ä£¬ÒÔÏÔʾ¸ü¶àÄÚÈÝ¡£µ«ÊÇ£¬¶ÔÓÚÓÎÏ·¡¢ÊÓÆµ²¥·ÅÆ÷»òÆäËû¸»Ã½ÌåÄÚÈݵȸü³Á½þʽµÄÌåÑ飬ϵͳÀ¸µÈÆäËûÒÆ¶¯ UI ÔªËØÈÔÈ»»á·ÖÉ¢Óû§×¢ÒâÁ¦¡£

ÏÖÔÚ£¬PWA ¿ÉÒÔÔÚÆäÍøÂçÓ¦ÓÃÇåµ¥ÖÐÉèÖà display: fullscreen£¬ÔÚÍøÕ¾´ÓÖ÷ÆÁÄ»Æô¶¯Ê±Òþ²Ø·ÇÓ¦Óà UI£¬ÌṩÍêÈ«³Á½þʽµÄÌåÑé¡£

PWA ´ÓÖ÷ÆÁÄ»Æô¶¯£¨×󣩡¢PWA ÔÚ¶ÀÁ¢Ä£Ê½Ï´ÓÖ÷ÆÁÄ»Æô¶¯£¨ÖУ©ºÍ PWA ÔÚÈ«ÆÁģʽÏ´ÓÖ÷ÆÁÄ»Æô¶¯£¨ÓÒ£©¡£
´Ë°æ±¾ÖÐµÄÆäËûÌØÐÔ

ÏÖÔÚ£¬¹¤×÷Ï̺߳͹²Ïí¹¤×÷Ï߳̿ÉÒÔʹÓà data: ÍøÖ·½øÐд´½¨£¬Í¨¹ýΪÆä¸³Ó費͸Ã÷µÄÀ´Ô´£¬¿É¸ü°²È«µØÀûÓù¤×÷Ï߳̽øÐпª·¢¡£

ͨ¹ý PointerEvents.getCoalescedEvents()£¬¿ª·¢Õß¿ÉÒÔ·ÃÎÊÉÏ´ÎÌá½» PointerEvent ÒÔÀ´µÄËùÓÐÊäÈëʼþ£¬Ê¹»æÍ¼Ó¦ÓÿÉÒÔ¸üÇáËɵØÊ¹Óþ«È·µÄµã¼Ç¼»æÖƸüƽ»¬µÄÇúÏß¡£

ÏÖÔÚ£¬¿ª·¢Õß¿ÉÒÔʹÓÃÐ嵀 ControlsList API£¬×Ô¶¨Òå Chrome µÄÔ­ÉúýÌå¿Ø¼þ£¬ÀýÈç download¡¢fullscreen ºÍ remoteplayback °´Å¥¡£

¶ÔÓÚ Chrome£¨Android °æ£©£¬Ê¹ÓøĽøµÄÌí¼Óµ½Ö÷ÆÁÄ»¹¤×÷Á÷°²×°µÄÍøÕ¾½«¿ÉÒÔ²»ÊÜÏÞÖÆµØ×Ô¶¯²¥·Åͨ¹ýÇåµ¥·¶Î§Öаüº¬µÄÀ´Ô´ÌṩµÄÒôƵºÍÊÓÆµ¡£

¶ÔÓÚ Chrome£¨Android °æ£©£¬Ê¹Óà autoplay ÊôÐÔµÄÊÓÆµÔÚÍ˳öÆÁĻʱ½«ÔÝÍ£²¥·Å£¬·µ»ØÆÁÄ»½«¼ÌÐø²¥·Å£¬ÒÔ±£³Ö¿çä¯ÀÀÆ÷µÄÁ¬¹áÐÔ¡£

ÏÖÔÚ£¬ÍøÕ¾¿ÉÒÔʹÓà color-gamut Media Query£¬»ñÈ¡ Chrome ºÍÊä³öÉ豸֧³ÖµÄÑÕÉ«µÄ´óÖ·¶Î§¡£

ÏÖÔÚ£¬ÎÞÐèÊÖ¶¯ÖØÖà float ºÍ clear µÈ¶àÖÖ²¼¾ÖÊôÐÔ£¬ÍøÕ¾¿ÉÒÔʹÓà display: flow-root Ìí¼ÓÒ»ÖÖеĿé¸ñʽÉèÖÃÉÏÏÂÎÄ¡£

ΪËõ¶Ì JavaScript ·ÖÎöʱ¼ä£¬SVGPoint¡¢SVGRect ºÍ SVGMatrix ÒÑ×ªÒÆÖÁ Geometry ÍⲿµÄнçÃæÖС£

ʹÓÃÐ嵀 Selection API º¯Êý removeRange()£¬¿ª·¢ÕßÏÖÔÚ¿ÉÒÔͨ¹ý±à³ÌÒÆ³ýÖ¸¶¨µÄÎı¾·¶Î§¡£

ÏÖÔÚ Chrome£¨Mac °æ£©Ö§³Ö PointerEvent.tangentialPressure ºÍPointerEvent.twist ÊôÐÔ£¬¿ÉΪ´¥¿Ø±ÊÉ豸ºÍ»æ»­Ó¦ÓÃÌṩ¸ü¶àÐÅÏ¢¡£

Ϊ¼ò»¯¿ª·¢ÕßÌåÑ飬ÏÖÔÚ JavaScript ÔÊÐíÔÚÐÎʽ²ÎÊýºÍʵ¼Ê²ÎÊýÁбíÖÐʹÓÃÖÕÖ¹¶ººÅ¡£

WebAudio API еIJ¥·ÅAudioContextLatencyCategory ʹ¿ª·¢Õß¿ÉÒÔÇáËɵØÔÚÑÓ³Ùʱ¼ä¡¢¹¦ºÄºÍ CPU ЧÂÊÖ®¼ä×ö³öÓÐÒâʶµÄȨºâ¡£

ÆúÓúͻ¥²Ù×÷ÐԵĸÄÉÆ

Apple-interchange-newline¡¢Apple-converted-space¡¢Apple-paste-as-quotation¡¢Apple-style-span ºÍ Apple-tab-span Òѱ»ÆúÓã¬ÒòΪËüÃÇÊǷDZê×¼ CSS Àà¡£

usemap ÊôÐÔÏÖÔÚʹÓÃÇø·Ö´óСдµÄÆ¥Å䷽ʽ£¬¶ø²»Ê¹ÓüæÈݲ»Çø·Ö´óСд£¬ÒÔ¸üºÃµØ·ûºÏÏà¹Ø¹æ·¶¡£

ÏÖÔÚ£¬¸ù¾Ý Chrome Õë¶ÔÒ»Ð©ÖØÒª¹¦ÄܵÄÕþ²ß£¬Ê¹Óà Notifications API ÇëÇó֪ͨȨÏÞ»ò´´½¨·ÇÓÀ¾Ã±¾µØÍ¨ÖªÊ±£¬ÍøÕ¾±ØÐëʹÓà HTTPS¡£

ΪÁ˸üºÃµØ·ûºÏÏà¹Ø¹æ·¶£¬ÏÖÔÚµ± cancelBubble ÉèÖÃΪ true ʱ±»ÊÓΪ stopPropagation() µÄ±ðÃû£¬ÔÚÉèÖÃΪ false ʱÔò²»Ö´ÐÐÈκβÙ×÷¡£

VTTRegion ½çÃæº¯Êý addRegion() ºÍ removeRegion() ÒÑ´Ó WebVTT ¹æ·¶ÖÐÒÆ³ý£¬Òò´ËÒ²½«´Ó Chrome ÖÐÒÆ³ý¡£

µ¼º½ÖÁ data: ÍøÖ·µÄ¶¥¼¶Ò³ÃæµÄ¹¦ÄÜÒѱ»ÆúÓã¬ÒÔ½øÒ»²½·ÀÖ¹Óû§Êܵ½ÆÛÆ­ºÍµöÓãʽ¹¥»÷¡£

HTMLEmbedElement »ò HTMLObjectElement µÄʵÀý²»ÔÙ¿ÉÒÔ×÷Ϊº¯Êýµ÷Óã¬ÒòΪ¾É°æµ÷ÓóÌÐòÒѱ»ÒƳý¡£

ÔÚ IETF ½«ÕâЩËã·¨±ê×¼»¯Îª RFC 7539 ºÍ RFC 7905 ÒÔ¼°ËæºóÔÚ Chrome 41 Öз¢²¼±ê×¼°æ±¾ºó£¬ÒƳýÁ˱ê×¼»¯Ç°µÄ ChaCha20-Poly1305 ÃÜÂë¡£

Ϊ¸ÄÉÆ»¥²Ù×÷ÐÔ£¬Èç¹ûÔö¼ÓµÄ·¶Î§ÓëÏÖÓз¶Î§Öصþ£¬Selection.addRange() ÏÖÔÚ»áºöÂÔǰÕߣ¬¶ø²»Êǽ«Á½¸ö·¶Î§ºÏ²¢¡£

¸ù¾Ý Chrome Õë¶ÔÒ»Ð©ÖØÒª¹¦ÄܵÄÕþ²ßÒÔ¼°¸ù¾ÝÏà¹Ø¹æ·¶£¬ÒÑÆúÓÃͨ¹ý²»°²È«À´Ô´´«Êä¼ÓÃÜýÌåÀ©Õ¹¡£

AudioBuffer ¹¹Ô캯ÊýÏÖÔÚÔÊÐíʹÓà AudioBufferOptions ´ÊµäµÄsampleRate ³ÉÔ±´úÌæ context ²ÎÊý£¬ÒÔ¼ò»¯½çÃæ£¬Í¬Ê±Ç¿µ÷¿ÉÒÔÔÚ AudioContexts Ö®¼ä¹²Ïí AudioBuffers¡£

ÏÖÒÑÔÚ·þÎñ¹¤×÷Ïß³ÌÖÐÆúÓÃͬ²½ FileReaderSync API£¬ÒòΪ·þÎñ¹¤×÷Ï̹߳淶ҪÇóËùÓÐÀàÐ͵Äͬ²½ÇëÇó¶¼Ó¦ÔÚ·þÎñ¹¤×÷Ïß³ÌÍⲿ·¢Æð¡£

ÏÖÔÚ abbr ºÍ acronym ÔªËØÄ¬ÈÏÌí¼ÓµãʽÏ»®Ïߣ¬ÒÔ·ûºÏ HTML ±ê×¼¡£

ÏÖÒÑÒÆ³ý motion-path¡¢motion-offset ºÍ motion-rotation CSS ÊôÐÔ£¬·Ö±ðÓÉÒÔÏÂа汾ȡ´ú£ºoffset-path¡¢offset-distance ºÍ offset-rotate¡£

ÔÚ·ÃÎÊ selectionDirection¡¢selectionStart ºÍ selectionEnd µÈ Selection API ÊôÐÔʱ£¬Chrome Ô­±¾»áÒý·¢ InvalidStateError DOMException£¬µ«ÏÖÔÚ·µ»Ø null¡£

ÏÖÔÚ£¬Selection API µÄ setBaseAndExtent() ²»»áÔÚÎÞÌáʾµÄÇé¿öÏÂÏÞÖÆ¹ý´óµÄÆ«ÒÆÖµ£¬¶øÊÇÒý·¢ IndexSizeError DOMException£¬ÒÔ¸üºÃµØ·ûºÏÏà¹Ø¹æ·¶¡£

ÏÖÔÚ£¬Selection API µÄ setBaseAndExtent()¡¢extend() ºÍ collapse() ²»»áÒò DocumentType ½ÚµãÊäÈë¶øÔÚÎÞÌáʾµÄÇé¿öÏÂʧ°Ü£¬¶øÊÇÒý·¢ InvalidNodeTypeError DOMException£¬ÒÔ¸üºÃµØ·ûºÏÏà¹Ø¹æ·¶¡£

Ϊ¸üºÃµØ·ûºÏÏà¹Ø¹æ·¶£¬getRangeAt() ÏÖÔÚʼÖÕ·µ»ØÐµÄλÖù淶»¯µÄ Range¡£

ÏÖÒÑÒÆ³ý AudioSourceNode ½Ó¿Ú£¬ÒòΪËü²»ÔÙÊôÓÚ WebAudio ¹æ·¶¡£

ÏÖÒÑÒÆ³ý webkitdropzone ÊôÐÔ£¬ÒòΪËüδµÃµ½¹ã·º²ÉÓá£

Èí¼þÏêÇ飺https://blog.chromium.org/2017/03/chrome-58-beta-indexeddb-20_21.html

À´×Ô:¿ªÔ´ÖйúÉçÇø
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ