JavaScript 运行时错误:对象不支持属性或方法“包含”
2013-10-22
13460
我在母版页中编写了以下代码
<script type="text/javascript">
if (window.location.pathname.contains('Page1.aspx')) {
var js = document.createElement("script");
js.type = "text/javascript";
js.src = 'http://code.jquery.com/jquery-1.8.3.js';
}
if (window.location.pathname.contains('Page2.aspx')) {
var js = document.createElement("script");
js.type = "text/javascript";
js.src = 'http://code.jquery.com/jquery-1.9.1.js';
}
</script>
在 asp.net 应用程序中,我有三个页面 page1、page2、page3,它们由同一个母版页继承。当我尝试访问 page3 时,它显示错误:“JavaScript 运行时错误:对象不支持属性或方法‘contains’”
1个回答
除非您自己定义了它(但您没有),否则字符串中不存在
contains()
这样的东西
1
。使用
includes()
,这实际上是同一件事。
示例:
console.log('abcdefg'.includes('def')); // true
console.log('abcdefg'.includes('ghi')); // false
如果您必须支持较旧的浏览器(如 Internet Explorer),请使用
indexOf()
:
console.log('abcdefg'.indexOf('def') !== -1); // true
console.log('abcdefg'.indexOf('ghi') !== -1); // false
无论如何,在两个页面上使用两个不同版本的 jQuery 是一个糟糕的主意 - 尽可能避免它。
1:
从技术上讲,这并非 100% 正确:曾经有一个内置的
contains()
函数,但它被重命名为
includes()
出于兼容性原因
。
Qantas 94 Heavy
2013-10-22