³ý·ÇÁíÍâ×¢Ã÷£¬·ñÔòÏÂÃæ½éÉܵĸü¸Ä¾ùÊÊÓÃÓÚ×îР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
À´×Ô:¿ªÔ´ÖйúÉçÇø

