HTML5 标签向 JavaScript 公开 canPlayType() 方法。它采用 MIME 类型来播放媒体,并返回浏览器是否认为它实际上可以播放媒体的指示。
不幸的是,大多数常见媒体类型(例如“video/mp4”)都是容器类型,媒体类型本身不足以确定内容是否可以实际播放。对此,RFC 4281 定义了一个“codecs”参数,可以将其添加到 MIME 类型中以标识特定的编解码器。
因此,例如,“video/3gpp2; codecs='mp4v.20.9, mp4a.E1'”的类型是(根据 RFC)“MPEG-4 Visual Simple Profile Level 0 plus 13K voice”。
我找到了很多地方,告诉我如果我知道编解码器,应该使用什么值,但我经常发现自己收到来源不明的视频文件 - 我所知道的是它有一个 .mp4 文件类型。
如何从实际文件中确定 canPlayType() 的正确“编解码器”值是什么?
我有一个使用<mark>标签交互式突出显示文本的应用程序.当用户拖动鼠标时,它会包装和展开文档中的文本节点,以向用户显示所选内容.当所选范围在单词的中间结束时,标记仅包围单词的一部分.如果边界位于kerned对之间,则禁用字距调整.
这是一个例子:
p { font-size: 30pt; margin: 0; line-height: 26pt; }Run Code Online (Sandbox Code Playgroud)
<p>There <mark>are 1</mark>1 entries.</p>
<p>There are 11 entries.</p>Run Code Online (Sandbox Code Playgroud)
在第一段中,<mark>标记在两个"1"数字之间结束.第二段具有相同的文本,没有<mark>.调整字体大小,边距和行间距以使段落更加接近,以使差异更加明显.
1与<mark>之间的空间比没有的更多.由于这在应用程序中以交互方式发生,因此当用户将鼠标拖过1s时,后续文本在它们位于1之间时向右移动,然后当它们越过下一个字符时向后移动.文本的"摇晃"可能很烦人.
有没有办法告诉浏览器不要将标记标记视为字距边界?也许是字体功能设置?
我正在尝试验证Amazon SNS消息.它由X.509证书签名,并提供证书的URL.
检查签名对证书没有问题,但我怎么知道证书有效?
我已经看过各种各样的地方,展示如何让OpenSSL验证SSLSocket上使用的证书,但我看不出如何检查证书是否有效.
我想我可以"shell"运行类似的东西openssl x509 -in <file> -text -noout,并解析输出,但这似乎是一个蹩脚的解决方案.
所以:
cert = OpenSSL::X509::Certificate.new(Faraday.get(cert_url).body)
# now what?
Run Code Online (Sandbox Code Playgroud)