IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Safari 10 越来越像理想中的浏览器了

    神飞发表于 2016-06-14 06:42:13
    love 0

    Safari 10的技术规格出来了,嗯,简直激动人心。

    这里简单『搬运』一下官方的文章

    Web APIs

    • IndexedDB
      完整支持W3C推荐规范了
    • 复制和剪切
      可以用Javascript来复制和剪切内容了,方法: document.execCommand('copy') document.execCommand('cut')
    • CSP 2.0
      CSP (Content Security Policy 内容安全策略)支持 2.0 标准了
    • Shadow DOM
      终于支持了呀,Chrome在几年前就支持了,这样的话,iOS上也可以放心搞 web components 了
    • ES 6
      嗯,Safari 支持 ECMAScript 2015 标准,也就是 ES 6 ,完全支持,史上第一个完全支持 ES 6 的浏览器
    • ES 国际化
      集成 ECMAScript Internationalization API 标准,也就是 ECMA-402,支持客户端数字、币种、时间格式等
    • DOM 兼容性增强
      这个没啥说的
    • 3D Touch 事件
      对于 3D Touch,iOS 是 touchforcechange, macOS 是 webkitmouseforcechange,只有用力按下时触发。 touch对象的 force 属性值的区间为从 0.0 到 1.0
    • WebGL
      • iOS 支持情景创建参数 antialias 默认值为 true
      • iOS 支持情景创建参数 alpha,默认值为 false
      • 一个页面上的活动 WebGL 情景数量限制为 16,超出后,新创建情景会将最旧的销毁

    媒体

    • iOS 内联视频
      • 设定webkit-playsinline属性后,iPhone Safari会允许视频在页面内播放,没有设置该属性时,点击播放依然会全屏,但用户缩小(双指动作)时,也会内联播放
      • 在 iOS 中,如果视频没有音轨或者禁用了音轨,可以在页面加载时自动播放了
    • macOS 画中画
      • Safari 10 支持画中画功能
      • Safari 默认的 HTML5 视频控制条在画中画中有一个独立的样式
      • 如果想要自定义画中画的播放控制条,可以用 Javascript 演讲模式 API

    文本特性

    • 支持 WOFF 2.0,WOFF 2.0改进了字体的压缩效率
    • 可以使用 CSS Font Loading Module Level 3 specification规范来从脚本创建和加载字体并跟踪字体的状态
    • 只有要渲染的文本的文字在字体的 Unicode range 之内,网络字体才会被下载。

    排版与渲染

    • CSS 支持 object-position
      吼,终于支持了,之前只支持object-fit,正好前几天写了一篇 object-fit: 炒鸡方便的图片居中方法
    • 支持使用 SVG 路径剪切
      你可以剪切成复杂的图案,包括贝塞尔曲线路径和evenodd填充规则。使用 path() 图形,就像在 CSS Shapes Level 2 specification 规范中定义的一样
    • 支持 #RGBA 和 #RRGGBBAA
      支持 #RGBA 和 #RRGGBBAA 颜色值了
    • border-image 的新值
      border-image新增 round 和 space 值
    • image-rendering 的新值
      image-rendering 新增两个值 crisp-edges 和 pixelated , -webkit-crisp-edges 和 -webkit-optimize-contrast 映射到 crisp-edges
    • 支持 direction 属性
      so... 支持从右到左的语言了,滚动条的位置和表单控制会适配到
    • media query支持广色域

      @media (color-gamut: p3) { … }

    • CSS 截断属性
      新增 break-before、break-inside和break-after
    • 去前缀的属性
      以下几个属性支持不用 -webkit- 的前缀了
      • filter
      • cross-fade
      • image-rendering

    Web Inspector

    • 支持 WebDriver 自动化测试,不多介绍直接看文档吧: Selenium WebDriver
    • 内存调试
      新的时间轴,可以显示页面的内存使用情况和基于时间的散点分布。这些新功能可以帮你定位和提高页面的内存性能
    • 快速抽样分析
      呃,这个看不懂。。。直接贴原文:The new JavaScript profiler delivers fast performance by sampling running code at a high resolution while disabling debugging tools. It allows scripts to run at full JIT-accelerated (just-in-time compilation) speeds for accurate timeline recording.

    原生 API

    • Apple Pay
      直接看 ApplePay JS Framework Reference 吧
    • WKWebView 的预览动作
      更新的 WKWebView API 支持直接在一个自定义的视图控制器中预览一个链接。通过这个 API,你可以在你的 APP 内创建视图而不用弹出 Safari 了,而且你也可以自定义预览的动作。 WKUIDelegate 相关的 Class 有: webView:shouldPreviewElement: 、 webView:previewingViewControllerForElement:defaultActions: 以及 webView:commitPreviewingViewController:.
    • WKWebView 的 allowsLinkPreview 属性在 iOS 10.0 以后默认为 YES
    • Safari 视图控制器
      iOS 中 Safari 视图控制器支持自定义颜色作为视图的工具栏背景。
    • WKWebView 的键盘显示行为
      在 iOS 10 中,当键盘被唤起时, WKWebView 对象使用 Safari 原生的行为,会更新它的 window.innerHeight 属性,而不再调起 resize 事件。

    Safari APP 扩展

    感觉就是 Chrome Web Store 那一套了。具体看 Safari APP 扩展开发指南



沪ICP备19023445号-2号
友情链接