类型错误:'未定义'不是函数(正在评估'audio_volume.toPreccision(2)
TypeError: 'undefined' is not a function (evaluating 'audio_volume.toPrecision(2)') in Safari
我决定把这个问题分开,因为事实证明这是一个多个问题。我用parseFloat()修复了TypeError,但代码不起作用,所以我提出了一个单独的问题。
我得到错误:
"TypeError:"undefined"不是函数(正在评估"audio_volume.toPrecision(2)")
关于这段代码:
var audio_volume = myAudio.volume;
alert(audio_volume);
document.getElementById("Volume_Read").innerHTML = audio_volume.toPrecision(2);
我使用了警戒线来确保它正在读取音量,而且效果良好。我想,出于某种原因,它在抱怨.toPrecision(2)
。此代码在Chrome、IE和Firefox中运行良好。只是在Safari中它不起作用(到目前为止,我还没有在Opera中测试过它)。
无论出于何种原因,听起来myAudio.volume
在Safari中没有返回数字,而是返回了其他类型的没有toPrecision
方法的对象。
因此,在使用之前,请尝试将该值转换为数字
var audio_volume = parseFloat(myAudio.volume);
更新:http://jsfiddle.net/vxDVp/
这证明了它的工作原理正如你所期望的。。。你的问题在别处。
相关文章:
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何检查链接是否有文本,并根据文本值评估条件-Jquery/JS
- Javascript Audio Library
- 类型错误'未定义'不是对象(正在评估'navigator.connection.type'
- 下载javascript文件,但不要立即对其进行评估
- AngularJs audio
- 在WebView iOS中评估Javascript
- 如何使用Audio API对同一声音文件进行分层
- TypeError:undefined不是对象(正在评估'newWindow.focus')
- r.js评估'text'插件,尽管在'stubModules'参数
- 避免重新评估和动态卸载用“require”调用的对象
- 删除评估值Javascript时的错误
- 咖啡脚本意外的条件评估
- Javascript-在一行中评估多个正则表达式
- &&评估问题
- 在JavaScript中评估复杂的数学表达式
- JavaScript:获取对象的评估属性
- audio.play() 和多个效果播放
- 基本的Javascript/jQuery数学游戏:为什么可以't我第二次运行此函数时进行评估
- javascript audio currentTime使一些浏览器崩溃