小编Jon*_* H.的帖子

除非手动触发一次,否则HTML5音频无法通过Javascript播放

我正在尝试使用标签和javascript自动播放一个小的声音文件来启动它.

<audio id="denied" preload="auto" controls="false">
    <source src="sound/denied.wav" />
 </audio>
Run Code Online (Sandbox Code Playgroud)

然后通过javascript,在适当的时候:

$('#denied')[0].play()
Run Code Online (Sandbox Code Playgroud)

适用于我桌面上的Chrome.在Android 4.1.1中,除非在javascript尝试播放之前在HTML5音频控件上点击"播放",否则声音将无法播放.

所以基本上Android浏览器(股票或Dolphin)不播放音频,除非用户在javascript之前的某个时刻启动它.这是有意的吗?有没有办法解决?

javascript html5 android html5-audio

35
推荐指数
4
解决办法
5万
查看次数

setTimeout忽略超时?(立即开火)

这是我第一次真正深入了解JavaScript.当然我以前用过它,但我从来没有真正从头开始写任何东西.

无论如何,我有一个非常奇怪的问题,我希望有人可以为我找到.

我正在尝试将文本从div淡出从黑色变为白色.很简单,是吗?

以下代码有效.它会将颜色更改为白色,但是会忽略500ms的setTimeout时间.

如果您使用Chrome并查看JS控制台,您将很容易看到几乎是瞬间调用doFade()方法,而不是每500毫秒.

有谁能解释一下?

var started = false;
var newColor;
var div;
var hex = 0;

function fadestart(){
    if (typeof fadestart.storedColor == 'undefined') {
        div = document.getElementById('test');
        fadestart.storedColor = div.style.color;
    }
    if(!started){
        console.log('fadestart');
        newColor = fadestart.storedColor;
        started = true;
        setTimeout(doFade(), 500);
    }
}

function fadestop(){
    console.log('fadestop');
    div.style.color = fadestart.storedColor;
    started = false;
    hex = 0;
}

function doFade(){
    if(hex<=238){
        console.log(hex);
        hex+=17;
        div.style.color="rgb("+hex+","+hex+","+hex+")";
        setTimeout(doFade(), 500);
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript settimeout

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

Android Studio中包含库的NoClassDefFoundError

我花了几个小时试图让一个库在Android Studio中使用我的项目,我只是想不出来.

这是我的模块的依赖关系 在此输入图像描述

我的图书馆: http://i.imgur.com/t8E3sB8.png

我甚至补充道

compile files('libs/signpost-commonshttp4-1.2.1.2.jar')
compile files('libs/signpost-core-1.2.1.2.jar')
Run Code Online (Sandbox Code Playgroud)

到我的build.gradle.没有这个,应用程序甚至不会编译.

在这个阶段,当我尝试在代码中引用其中一个库时,应用程序崩溃并出现NoClassDefFoundError异常.

有些东西告诉我这不应该是这么难 - 我能忽视什么?

logcat的:

05-17 21:51:15.676: I/ActivityManager(714): START u0 {flg=0x10104000 cmp=com.crazydog.splitwiser/.InitialSplash bnds=[328,402][656,692]} from pid 1513
05-17 21:51:15.896: I/ActivityManager(714): Start proc com.crazydog.splitwiser for activity com.crazydog.splitwiser/.InitialSplash: pid=18174 uid=10288 gids={50288, 3003, 1028}
05-17 21:51:16.326: I/ActivityManager(714): Displayed com.crazydog.splitwiser/.InitialSplash: +437ms (total +1m9s209ms)
05-17 21:51:17.017: I/ActivityManager(714): START u0 {cmp=com.crazydog.splitwiser/.LogIn} from pid 18174
05-17 21:51:17.097: E/dalvikvm(18174): Could not find class 'oauth.signpost.commonshttp.CommonsHttpOAuthConsumer', referenced from method com.crazydog.splitwiser.Toolkit.oAuthTransaction
05-17 21:51:17.097: W/dalvikvm(18174): VFY: unable to resolve new-instance 662 (Loauth/signpost/commonshttp/CommonsHttpOAuthConsumer;) in …
Run Code Online (Sandbox Code Playgroud)

android intellij-idea android-studio

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

在Android上获取VPN连接状态

是否可以检查Android设备是否连接到VPN服务器? API中的搜索为Android 1.6提供了"paltform highlight",因此这并不能让我充满信心.

vpn android

10
推荐指数
1
解决办法
8218
查看次数

使用AJAX输入type ="submit"而不是input type ="button"?

我正在设置一个AJAX表单,使用<input type="button">jQuery .click动作设置.

问题是,因为<input type="submit"表单中没有>,表单不以传统方式提交,因此表单验证器并不总是有效,按下回车按钮不会做任何事情.

如果我添加一个提交输入,当它被点击(或输入命中等)时,页面会重新加载,就像它不是一个AJAX表单一样.

我在这里错过了什么?

javascript ajax jquery webforms

7
推荐指数
1
解决办法
8403
查看次数