小编Axe*_*xel的帖子

播放存储为blob的MP3文件

简而言之,我想在Firefox中播放一个blob MP3文件.

我可以访问blob本身:( blob用mime类型切片audio/mpeg3),以及它的URL : blobURL = window.URL.createObjectURL(blob).

我尝试过:

  1. 一个HTML5音频播放器:

    <audio controls="controls">
        <source src="[blobURL]" type="audio/mp3">
    </audio>
    
    Run Code Online (Sandbox Code Playgroud)

    但我在Firebug中收到警告,告诉我Firefox无法读取类型的文件audio/mpeg3.

  2. 多个音频播放器库(SoundManager,JPlayer等),但似乎都没有允许blob URL作为输入.

我做错了吗?或者有没有人知道可以从blob播放MP3文件的变通方法或库?

flash firefox html5 mp3 blob

11
推荐指数
1
解决办法
2万
查看次数

[function] .apply()在IE中导致"JScript对象预期"错误

以下代码行导致IE中出现"JScript对象预期"错误:

hideElements.apply(window, elements);
Run Code Online (Sandbox Code Playgroud)

根据IE,'预期的JScript对象'是指hideElements,它是一个将任意数量的HTML对象作为参数并隐藏它们的函数.

具体来说,我通过调用来检索HTML对象的数组getElementsByTagName,并且我希望将此数组作为函数的参数列表传递hideElements.apply()在这种情况下,JS函数正是我所需要的.我知道我肯定会以不同的方式编写我的代码,但由于这在Firefox和Chrome上完美运行,并且在技术上是正确的,我真的很想知道为什么IE卡在那里.

我确定,当执行该行时:

  • window不是null和类型Window;
  • elements不是null和类型HTMLCollection; 和
  • hideElements 是一个功能齐全的JS函数(它可以完全独立运行,并且在执行上面的代码时完全加载).

javascript internet-explorer object-expected

4
推荐指数
1
解决办法
3748
查看次数

关于覆盖init函数的几个问题

作为Objective-C初学者,我对init函数以及如何以及何时覆盖它非常困惑.所以这里有几个问题:

  • 显然,当init函数没有被覆盖时,它工作正常,所以它只是一个很好的做法吗?如果是,那么不这样做是非常糟糕的做法吗?
  • 让我们假设我重写了这个函数,因为我必须为变量赋一个默认值.我是否必须分配和初始化所有其他ivars,包括IBOutlets?

请注意我知道语法:

if ((self = [super init]))
{
    _foo = [[Bar alloc] init];
}
return self;
Run Code Online (Sandbox Code Playgroud)

iphone xcode initialization objective-c

3
推荐指数
1
解决办法
1684
查看次数

显示/隐藏与从 DOM 添加/删除的可访问性影响

下面是一个用 Angular 编写的下拉菜单示例,其中我使用 HTML5hidden属性(换句话说,display: none;)来显示/隐藏项目列表:

<button
  id="my-btn
  type="button"
  aria-haspopup="menu"
  aria-controls="my-menu"
  [attr.aria-expanded]="isMenuOpen"
  (click)="isMenuOpen = !isMenuOpen"
>
  Menu
</button>

<ul
  id="my-menu"
  role="menu"
  aria-labelledby="my-btn"
  [hidden]="!isMenuOpen"
>
  ...
</ul>
Run Code Online (Sandbox Code Playgroud)

在下一个示例中,我使用结构指令*ngIf而不是属性hidden来有条件地呈现列表。换句话说,现在每次isMenuOpen更改时,列表都会从 DOM 中添加和删除。

<ul
  id="my-menu"
  role="menu"
  aria-labelledby="my-btn"
  *ngIf="isMenuOpen"
>
  ...
</ul>
Run Code Online (Sandbox Code Playgroud)

忽略任何框架或性能问题,这两种实现从可访问性的角度来看有什么不同吗?

相当多的 ARIA 属性通过引用其他元素的 ID(例如aria-controlsaria-labelledby等)来工作。从 DOM 中删除由这样的属性引用的元素是否比隐藏该元素更难访问?

javascript dom accessibility

2
推荐指数
1
解决办法
569
查看次数