-
-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IE8问题 #17
Comments
兼容 IE8, 在工程上添加 Polyfill 就行了,不知道需不需要在这里添加。 我们是不用兼容低级浏览器, 不支持的浏览器,添加下面代码支持 indexOf // Production steps of ECMA-262, Edition 5, 15.4.4.14
// Reference: http://es5.github.io/#x15.4.4.14
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(searchElement, fromIndex) {
var k;
// 1. Let O be the result of calling ToObject passing
// the this value as the argument.
if (this == null) {
throw new TypeError('"this" is null or not defined');
}
var O = Object(this);
// 2. Let lenValue be the result of calling the Get
// internal method of O with the argument "length".
// 3. Let len be ToUint32(lenValue).
var len = O.length >>> 0;
// 4. If len is 0, return -1.
if (len === 0) {
return -1;
}
// 5. If argument fromIndex was passed let n be
// ToInteger(fromIndex); else let n be 0.
var n = +fromIndex || 0;
if (Math.abs(n) === Infinity) {
n = 0;
}
// 6. If n >= len, return -1.
if (n >= len) {
return -1;
}
// 7. If n >= 0, then Let k be n.
// 8. Else, n<0, Let k be len - abs(n).
// If k is less than 0, then let k be 0.
k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
// 9. Repeat, while k < len
while (k < len) {
// a. Let Pk be ToString(k).
// This is implicit for LHS operands of the in operator
// b. Let kPresent be the result of calling the
// HasProperty internal method of O with argument Pk.
// This step can be combined with c
// c. If kPresent is true, then
// i. Let elementK be the result of calling the Get
// internal method of O with the argument ToString(k).
// ii. Let same be the result of applying the
// Strict Equality Comparison Algorithm to
// searchElement and elementK.
// iii. If same is true, return k.
if (k in O && O[k] === searchElement) {
return k;
}
k++;
}
return -1;
};
} |
问题1 好像不是polyfill可以解决的; 压缩文件是怎么生成的,怎么感觉变量有点奇怪😂 @jaywcjlove |
代码通过
{
...
// 验证条件,包括应用自定义正则`regexp_num`
rules: 'required|regexp_num'
} 问题1 : 我需要看看测试一下。 |
对了,你的这句代码就有语法错误吧, try{
console.log(e === undefined)
}catch(e){
console.log(e)
} |
validator.min.js 文件问题
try catch中复用了e变量;
在ie8试了一下, try catch中的e变量会在try中就定义的,chrome不会,可以用
try{console.log(e === undefined)}catch(e){console.log(e)}
检验下ie8会返回true, 而chrome不会有输出。
兼容问题
if (isEmpty && rules.indexOf("required") === -1) {
ie8 是不兼容 Array.prototype.indexOf 的, 可以用 field.rules.indexOf
The text was updated successfully, but these errors were encountered: