Javascript 检测“scrollIntoView”是否接受对象参数
该方法接受一个参数。此参数可以是布尔值或对象 目前,只有Firefox支持对象语法。我需要找到一种方法来检测该方法是否允许传递对象 以下是我试图编写的代码:Javascript 检测“scrollIntoView”是否接受对象参数,javascript,dom,Javascript,Dom,该方法接受一个参数。此参数可以是布尔值或对象 目前,只有Firefox支持对象语法。我需要找到一种方法来检测该方法是否允许传递对象 以下是我试图编写的代码: var acceptsObjects=//我缺少的部分 如果(接受对象){ 元素。scrollIntoView({block:'end',behavior:'smooth'}) }否则{ 元素。scrollIntoView(false) } 我认为没有办法在不检查函数运行的代码的情况下自动检测它。我想它是按照if(typeof param=
var acceptsObjects=//我缺少的部分
如果(接受对象){
元素。scrollIntoView({block:'end',behavior:'smooth'})
}否则{
元素。scrollIntoView(false)
}
我认为没有办法在不检查函数运行的代码的情况下自动检测它。我想它是按照if(typeof param==“boolean”){/*do something*/}
的思路做的,但是,当然,它也可以采取任何形状或形式-它可能会检查参数是否是一个对象,并使用例如,如果不是,则在其上进行编码>。因为实现可以很好地改变,所以您甚至不能检查这些。如果你能得到这个函数首先运行的代码,也就是说。所以你只能用浏览器嗅探来猜测。是的,我也这么认为。我希望有其他的东西可以让你检查一下对象参数是否受支持。问题是,如果你传入一个对象,其他浏览器是否会抛出错误。如果是这样,一个简单的try/catch块可以让你设置一个布尔值来判断它是否有效……不幸的是,如果我传递一个对象,它会被转换为true
值,我认为没有办法在不检查函数运行的代码的情况下自动检测它。我想它是按照if(typeof param==“boolean”){/*do something*/}
的思路做的,但是,当然,它也可以采取任何形状或形式-它可能会检查参数是否是一个对象,并使用例如,如果不是,则在其上进行编码>。因为实现可以很好地改变,所以您甚至不能检查这些。如果你能得到这个函数首先运行的代码,也就是说。所以你只能用浏览器嗅探来猜测。是的,我也这么认为。我希望有其他的东西可以让你检查一下对象参数是否受支持。问题是,如果你传入一个对象,其他浏览器是否会抛出错误。如果是这样的话,一个简单的try/catch块将允许您设置一个布尔值来判断它是否有效……不幸的是,如果我传递一个对象,它将被转换为true
值