| 454 | //返回带前缀的可以直接执行是属性 |
| 455 | // 比如proSupported('requestFullscreen'); |
| 456 | function proSupported(proName, obj) { |
| 457 | obj = obj || document.createElement("div"); |
| 458 | |
| 459 | if (proName in obj) |
| 460 | return proName; |
| 461 | |
| 462 | //判断第一个字母是否大写,如果是的话,为构造函数,前缀也要 特定 的大写 |
| 463 | var prefix = /^[A-Z]/.test(proName) ? ['O', 'MS', 'Moz', 'WebKit'] : ['o', 'ms', 'moz', 'webkit']; |
| 464 | |
| 465 | // console.log(prefix); |
| 466 | |
| 467 | // 加前缀前首字母大写 |
| 468 | proName = proName.replace(/^./, function (m) { |
| 469 | return m.toUpperCase(); |
| 470 | }); |
| 471 | |
| 472 | var l = prefix.length; |
| 473 | var pProName; |
| 474 | while (l--) { |
| 475 | pProName = prefix[l] + proName; |
| 476 | // console.log(pProName); |
| 477 | if (pProName in obj) { |
| 478 | return pProName; |
| 479 | }; |
| 480 | }; |
| 481 | |
| 482 | return false; |
| 483 | }; |
| 484 | |
| 485 | // css属性支持 |
| 486 | // 比如WebkitTransform,MozTransform,OTransfomr |