为什么我在chrome中遇到未定义函数的错误?

Suh*_*pta 2 javascript string firefox google-chrome

如果url是主页(即index.html),则某些css属性将应用于其某些元素.以下脚本运行正常,Mozilla Firefox但在Chrome说明函数contains未定义时出错.这是为什么 ?是不是,Chrome不将变量URL视为字符串?

var url = document.URL;
var links = document.getElementsByTagName("a");

if(url.contains("index.html")) {    
    document.links.item(0).style.color = "#FFFF00";
    document.links.item(0).style.borderBottom = "solid 2px white";

}
Run Code Online (Sandbox Code Playgroud)

Hua*_*ism 5

根据

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/contains

它仅在FF中受支持,这就是为什么你在chrome中得到未定义的错误.

作为页面的起始状态

这是一项实验技术,是Harmony(ECMAScript 6)提案的一部分.由于此技术的规范尚未稳定,请检查兼容性表以了解各种浏览器的用法.另请注意,随着规范的变化,实验技术的语法和行为可能会在未来版本的浏览器中发生变化.

如果查看底部附近的兼容性表,则仅支持FF

作为替代方案,您可以随时使用

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf

if( url.indexOf("index.html") > -1 ) {  }
Run Code Online (Sandbox Code Playgroud)