@zykjcommon/questions 0.0.16 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.production +1 -1
- package/dist/static/img/classify-bg-seaworld.5f078467.png +0 -0
- package/dist/static/img/classify-boxitem-bg.c3330518.png +0 -0
- package/dist/static/img/classify-green-item.6accbf0f.png +0 -0
- package/dist/static/img/classify-list-bg.6242e4ea.png +0 -0
- package/dist/zykjcommon-questions.common.js +1493 -41
- package/dist/zykjcommon-questions.css +1 -1
- package/dist/zykjcommon-questions.umd.js +1493 -41
- package/dist/zykjcommon-questions.umd.min.js +7 -4
- package/package.json +3 -2
- package/src/assets/img/classify-arrow-left.png +0 -0
- package/src/assets/img/classify-arrow-right.png +0 -0
- package/src/assets/img/classify-bg-seaworld.png +0 -0
- package/src/assets/img/classify-boxitem-bg.png +0 -0
- package/src/assets/img/classify-green-item.png +0 -0
- package/src/assets/img/classify-list-bg.png +0 -0
- package/src/assets/js/fun.js +44 -1
- package/src/assets/js/rem.js +14 -1
- package/src/assets/scss/questions/index.scss +182 -7
- package/src/common/const.ts +2 -1
- package/src/components/questions/Question_Classify.vue +294 -0
- package/src/components/questions/Question_Programming.vue +19 -3
- package/src/components/questions/buildEntry.js +4 -1
- package/src/components/questions/const.js +2 -1
- package/src/components/questions/developmentEntry.js +4 -1
- package/src/components/questions/entry.js +2 -1
- package/src/main.ts +8 -7
- package/src/router/exam.ts +11 -0
- package/src/views/exam/Exam.vue +120 -0
- package/src/views/exam/FullScreen.vue +292 -0
|
@@ -10344,6 +10344,1018 @@ if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {
|
|
|
10344
10344
|
|
|
10345
10345
|
/***/ }),
|
|
10346
10346
|
|
|
10347
|
+
/***/ 2437:
|
|
10348
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
10349
|
+
|
|
10350
|
+
// THIS FILE IS GENERATED - DO NOT EDIT!
|
|
10351
|
+
/*!mobile-detect v1.4.5 2021-03-13*/
|
|
10352
|
+
/*global module:false, define:false*/
|
|
10353
|
+
/*jshint latedef:false*/
|
|
10354
|
+
/*!@license Copyright 2013, Heinrich Goebl, License: MIT, see https://github.com/hgoebl/mobile-detect.js*/
|
|
10355
|
+
(function (define, undefined) {
|
|
10356
|
+
define(function () {
|
|
10357
|
+
'use strict';
|
|
10358
|
+
|
|
10359
|
+
var impl = {};
|
|
10360
|
+
|
|
10361
|
+
impl.mobileDetectRules = {
|
|
10362
|
+
"phones": {
|
|
10363
|
+
"iPhone": "\\biPhone\\b|\\biPod\\b",
|
|
10364
|
+
"BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+|\\b(BBA100|BBB100|BBD100|BBE100|BBF100|STH100)\\b-[0-9]+",
|
|
10365
|
+
"Pixel": "; \\bPixel\\b",
|
|
10366
|
+
"HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel",
|
|
10367
|
+
"Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 5X|Nexus 6",
|
|
10368
|
+
"Dell": "Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b",
|
|
10369
|
+
"Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b|XT1068|XT1092|XT1052",
|
|
10370
|
+
"Samsung": "\\bSamsung\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F|SM-G610F|SM-G981B|SM-G892A|SM-A530F",
|
|
10371
|
+
"LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)|LM-G710",
|
|
10372
|
+
"Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533|SOV34|601SO|F8332",
|
|
10373
|
+
"Asus": "Asus.*Galaxy|PadFone.*Mobile",
|
|
10374
|
+
"Xiaomi": "^(?!.*\\bx11\\b).*xiaomi.*$|POCOPHONE F1|MI 8|Redmi Note 9S|Redmi Note 5A Prime|N2G47H|M2001J2G|M2001J2I|M1805E10A|M2004J11G|M1902F1G|M2002J9G|M2004J19G|M2003J6A1G",
|
|
10375
|
+
"NokiaLumia": "Lumia [0-9]{3,4}",
|
|
10376
|
+
"Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b",
|
|
10377
|
+
"Palm": "PalmSource|Palm",
|
|
10378
|
+
"Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature",
|
|
10379
|
+
"Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790",
|
|
10380
|
+
"Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250",
|
|
10381
|
+
"Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM",
|
|
10382
|
+
"iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)",
|
|
10383
|
+
"SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b",
|
|
10384
|
+
"Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q",
|
|
10385
|
+
"Alcatel": "Alcatel",
|
|
10386
|
+
"Nintendo": "Nintendo (3DS|Switch)",
|
|
10387
|
+
"Amoi": "Amoi",
|
|
10388
|
+
"INQ": "INQ",
|
|
10389
|
+
"OnePlus": "ONEPLUS",
|
|
10390
|
+
"GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser"
|
|
10391
|
+
},
|
|
10392
|
+
"tablets": {
|
|
10393
|
+
"iPad": "iPad|iPad.*Mobile",
|
|
10394
|
+
"NexusTablet": "Android.*Nexus[\\s]+(7|9|10)",
|
|
10395
|
+
"GoogleTablet": "Android.*Pixel C",
|
|
10396
|
+
"SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835|SM-T830|SM-T837V|SM-T720|SM-T510|SM-T387V|SM-P610|SM-T290|SM-T515|SM-T590|SM-T595|SM-T725|SM-T817P|SM-P585N0|SM-T395|SM-T295|SM-T865|SM-P610N|SM-P615|SM-T970|SM-T380|SM-T5950|SM-T905|SM-T231|SM-T500|SM-T860",
|
|
10397
|
+
"Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk\/[0-9.]+ like Chrome\/[0-9.]+ (?!Mobile)",
|
|
10398
|
+
"SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)",
|
|
10399
|
+
"HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10",
|
|
10400
|
+
"AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\bP027\\b|\\bP024\\b|\\bP00C\\b",
|
|
10401
|
+
"BlackBerryTablet": "PlayBook|RIM Tablet",
|
|
10402
|
+
"HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410",
|
|
10403
|
+
"MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617",
|
|
10404
|
+
"NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2",
|
|
10405
|
+
"AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20\\b|\\bA3-A30|A3-A40",
|
|
10406
|
+
"ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO",
|
|
10407
|
+
"LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b",
|
|
10408
|
+
"FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b",
|
|
10409
|
+
"PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002",
|
|
10410
|
+
"LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304X|TB-X304F|TB-X304L|TB-X505F|TB-X505L|TB-X505X|TB-X605F|TB-X605L|TB-8703F|TB-8703X|TB-8703N|TB-8704N|TB-8704F|TB-8704X|TB-8704V|TB-7304F|TB-7304I|TB-7304X|Tab2A7-10F|Tab2A7-20F|TB2-X30L|YT3-X50L|YT3-X50F|YT3-X50M|YT-X705F|YT-X703F|YT-X703L|YT-X705L|YT-X705X|TB2-X30F|TB2-X30L|TB2-X30M|A2107A-F|A2107A-H|TB3-730F|TB3-730M|TB3-730X|TB-7504F|TB-7504X|TB-X704F|TB-X104F|TB3-X70F|TB-X705F|TB-8504F|TB3-X70L|TB3-710F|TB-X704L",
|
|
10411
|
+
"DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7",
|
|
10412
|
+
"YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b",
|
|
10413
|
+
"MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB",
|
|
10414
|
+
"ArnovaTablet": "97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2",
|
|
10415
|
+
"IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004",
|
|
10416
|
+
"IRUTablet": "M702pro",
|
|
10417
|
+
"MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b",
|
|
10418
|
+
"EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)",
|
|
10419
|
+
"AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)",
|
|
10420
|
+
"ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b",
|
|
10421
|
+
"AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark",
|
|
10422
|
+
"NokiaLumiaTablet": "Lumia 2520",
|
|
10423
|
+
"SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712",
|
|
10424
|
+
"PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b",
|
|
10425
|
+
"CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT",
|
|
10426
|
+
"CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010",
|
|
10427
|
+
"MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10",
|
|
10428
|
+
"MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b",
|
|
10429
|
+
"SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)",
|
|
10430
|
+
"RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A",
|
|
10431
|
+
"FlyTablet": "IQ310|Fly Vision",
|
|
10432
|
+
"bqTablet": "Android.*(bq)?.*\\b(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))\\b|Maxwell.*Lite|Maxwell.*Plus",
|
|
10433
|
+
"HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09|AGS-L09|CMR-AL19",
|
|
10434
|
+
"NecTablet": "\\bN-06D|\\bN-08D",
|
|
10435
|
+
"PantechTablet": "Pantech.*P4100",
|
|
10436
|
+
"BronchoTablet": "Broncho.*(N701|N708|N802|a710)",
|
|
10437
|
+
"VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b",
|
|
10438
|
+
"ZyncTablet": "z1000|Z99 2G|z930|z990|z909|Z919|z900",
|
|
10439
|
+
"PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA",
|
|
10440
|
+
"NabiTablet": "Android.*\\bNabi",
|
|
10441
|
+
"KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build",
|
|
10442
|
+
"DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b",
|
|
10443
|
+
"TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE",
|
|
10444
|
+
"PlaystationTablet": "Playstation.*(Portable|Vita)",
|
|
10445
|
+
"TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab",
|
|
10446
|
+
"PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b",
|
|
10447
|
+
"AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ",
|
|
10448
|
+
"DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1",
|
|
10449
|
+
"GalapadTablet": "Android [0-9.]+; [a-z-]+; \\bG1\\b",
|
|
10450
|
+
"MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b",
|
|
10451
|
+
"KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b",
|
|
10452
|
+
"AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide",
|
|
10453
|
+
"PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b",
|
|
10454
|
+
"YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026",
|
|
10455
|
+
"ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503",
|
|
10456
|
+
"GUTablet": "TX-A1301|TX-M9002|Q702|kf026",
|
|
10457
|
+
"PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10",
|
|
10458
|
+
"OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027",
|
|
10459
|
+
"HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync",
|
|
10460
|
+
"DPSTablet": "DPS Dream 9|DPS Dual 7",
|
|
10461
|
+
"VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10",
|
|
10462
|
+
"CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989",
|
|
10463
|
+
"MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b",
|
|
10464
|
+
"ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan",
|
|
10465
|
+
"GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042",
|
|
10466
|
+
"ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003",
|
|
10467
|
+
"VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b",
|
|
10468
|
+
"ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1",
|
|
10469
|
+
"StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab",
|
|
10470
|
+
"VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497|VFD 1400",
|
|
10471
|
+
"EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2",
|
|
10472
|
+
"RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711",
|
|
10473
|
+
"iMobileTablet": "i-mobile i-note",
|
|
10474
|
+
"TolinoTablet": "tolino tab [0-9.]+|tolino shine",
|
|
10475
|
+
"AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b",
|
|
10476
|
+
"AMPETablet": "Android.* A78 ",
|
|
10477
|
+
"SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)",
|
|
10478
|
+
"TecnoTablet": "TECNO P9|TECNO DP8D",
|
|
10479
|
+
"JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b",
|
|
10480
|
+
"iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)",
|
|
10481
|
+
"FX2Tablet": "FX2 PAD7|FX2 PAD10",
|
|
10482
|
+
"XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151",
|
|
10483
|
+
"ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a",
|
|
10484
|
+
"VerizonTablet": "QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1",
|
|
10485
|
+
"OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10",
|
|
10486
|
+
"CaptivaTablet": "CAPTIVA PAD",
|
|
10487
|
+
"IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S",
|
|
10488
|
+
"TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi",
|
|
10489
|
+
"OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+|V10 \\b4G\\b",
|
|
10490
|
+
"JaytechTablet": "TPC-PA762",
|
|
10491
|
+
"BlaupunktTablet": "Endeavour 800NG|Endeavour 1010",
|
|
10492
|
+
"DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b",
|
|
10493
|
+
"EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b",
|
|
10494
|
+
"LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b",
|
|
10495
|
+
"AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712",
|
|
10496
|
+
"MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010",
|
|
10497
|
+
"CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b",
|
|
10498
|
+
"WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b",
|
|
10499
|
+
"MediacomTablet": "M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA",
|
|
10500
|
+
"MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b",
|
|
10501
|
+
"NibiruTablet": "Nibiru M1|Nibiru Jupiter One",
|
|
10502
|
+
"NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI",
|
|
10503
|
+
"LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100",
|
|
10504
|
+
"UbislateTablet": "UbiSlate[\\s]?7C",
|
|
10505
|
+
"PocketBookTablet": "Pocketbook",
|
|
10506
|
+
"KocasoTablet": "\\b(TB-1207)\\b",
|
|
10507
|
+
"HisenseTablet": "\\b(F5281|E2371)\\b",
|
|
10508
|
+
"Hudl": "Hudl HT7S3|Hudl 2",
|
|
10509
|
+
"TelstraTablet": "T-Hub2",
|
|
10510
|
+
"GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107"
|
|
10511
|
+
},
|
|
10512
|
+
"oss": {
|
|
10513
|
+
"AndroidOS": "Android",
|
|
10514
|
+
"BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os",
|
|
10515
|
+
"PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino",
|
|
10516
|
+
"SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b",
|
|
10517
|
+
"WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Windows Mobile|Windows Phone [0-9.]+|WCE;",
|
|
10518
|
+
"WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;",
|
|
10519
|
+
"iOS": "\\biPhone.*Mobile|\\biPod|\\biPad|AppleCoreMedia",
|
|
10520
|
+
"iPadOS": "CPU OS 13",
|
|
10521
|
+
"SailfishOS": "Sailfish",
|
|
10522
|
+
"MeeGoOS": "MeeGo",
|
|
10523
|
+
"MaemoOS": "Maemo",
|
|
10524
|
+
"JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b",
|
|
10525
|
+
"webOS": "webOS|hpwOS",
|
|
10526
|
+
"badaOS": "\\bBada\\b",
|
|
10527
|
+
"BREWOS": "BREW"
|
|
10528
|
+
},
|
|
10529
|
+
"uas": {
|
|
10530
|
+
"Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?",
|
|
10531
|
+
"Dolfin": "\\bDolfin\\b",
|
|
10532
|
+
"Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+$|Coast\/[0-9.]+",
|
|
10533
|
+
"Skyfire": "Skyfire",
|
|
10534
|
+
"Edge": "\\bEdgiOS\\b|Mobile Safari\/[.0-9]* Edge",
|
|
10535
|
+
"IE": "IEMobile|MSIEMobile",
|
|
10536
|
+
"Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS",
|
|
10537
|
+
"Bolt": "bolt",
|
|
10538
|
+
"TeaShark": "teashark",
|
|
10539
|
+
"Blazer": "Blazer",
|
|
10540
|
+
"Safari": "Version((?!\\bEdgiOS\\b).)*Mobile.*Safari|Safari.*Mobile|MobileSafari",
|
|
10541
|
+
"WeChat": "\\bMicroMessenger\\b",
|
|
10542
|
+
"UCBrowser": "UC.*Browser|UCWEB",
|
|
10543
|
+
"baiduboxapp": "baiduboxapp",
|
|
10544
|
+
"baidubrowser": "baidubrowser",
|
|
10545
|
+
"DiigoBrowser": "DiigoBrowser",
|
|
10546
|
+
"Mercury": "\\bMercury\\b",
|
|
10547
|
+
"ObigoBrowser": "Obigo",
|
|
10548
|
+
"NetFront": "NF-Browser",
|
|
10549
|
+
"GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger",
|
|
10550
|
+
"PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon"
|
|
10551
|
+
},
|
|
10552
|
+
"props": {
|
|
10553
|
+
"Mobile": "Mobile\/[VER]",
|
|
10554
|
+
"Build": "Build\/[VER]",
|
|
10555
|
+
"Version": "Version\/[VER]",
|
|
10556
|
+
"VendorID": "VendorID\/[VER]",
|
|
10557
|
+
"iPad": "iPad.*CPU[a-z ]+[VER]",
|
|
10558
|
+
"iPhone": "iPhone.*CPU[a-z ]+[VER]",
|
|
10559
|
+
"iPod": "iPod.*CPU[a-z ]+[VER]",
|
|
10560
|
+
"Kindle": "Kindle\/[VER]",
|
|
10561
|
+
"Chrome": [
|
|
10562
|
+
"Chrome\/[VER]",
|
|
10563
|
+
"CriOS\/[VER]",
|
|
10564
|
+
"CrMo\/[VER]"
|
|
10565
|
+
],
|
|
10566
|
+
"Coast": [
|
|
10567
|
+
"Coast\/[VER]"
|
|
10568
|
+
],
|
|
10569
|
+
"Dolfin": "Dolfin\/[VER]",
|
|
10570
|
+
"Firefox": [
|
|
10571
|
+
"Firefox\/[VER]",
|
|
10572
|
+
"FxiOS\/[VER]"
|
|
10573
|
+
],
|
|
10574
|
+
"Fennec": "Fennec\/[VER]",
|
|
10575
|
+
"Edge": "Edge\/[VER]",
|
|
10576
|
+
"IE": [
|
|
10577
|
+
"IEMobile\/[VER];",
|
|
10578
|
+
"IEMobile [VER]",
|
|
10579
|
+
"MSIE [VER];",
|
|
10580
|
+
"Trident\/[0-9.]+;.*rv:[VER]"
|
|
10581
|
+
],
|
|
10582
|
+
"NetFront": "NetFront\/[VER]",
|
|
10583
|
+
"NokiaBrowser": "NokiaBrowser\/[VER]",
|
|
10584
|
+
"Opera": [
|
|
10585
|
+
" OPR\/[VER]",
|
|
10586
|
+
"Opera Mini\/[VER]",
|
|
10587
|
+
"Version\/[VER]"
|
|
10588
|
+
],
|
|
10589
|
+
"Opera Mini": "Opera Mini\/[VER]",
|
|
10590
|
+
"Opera Mobi": "Version\/[VER]",
|
|
10591
|
+
"UCBrowser": [
|
|
10592
|
+
"UCWEB[VER]",
|
|
10593
|
+
"UC.*Browser\/[VER]"
|
|
10594
|
+
],
|
|
10595
|
+
"MQQBrowser": "MQQBrowser\/[VER]",
|
|
10596
|
+
"MicroMessenger": "MicroMessenger\/[VER]",
|
|
10597
|
+
"baiduboxapp": "baiduboxapp\/[VER]",
|
|
10598
|
+
"baidubrowser": "baidubrowser\/[VER]",
|
|
10599
|
+
"SamsungBrowser": "SamsungBrowser\/[VER]",
|
|
10600
|
+
"Iron": "Iron\/[VER]",
|
|
10601
|
+
"Safari": [
|
|
10602
|
+
"Version\/[VER]",
|
|
10603
|
+
"Safari\/[VER]"
|
|
10604
|
+
],
|
|
10605
|
+
"Skyfire": "Skyfire\/[VER]",
|
|
10606
|
+
"Tizen": "Tizen\/[VER]",
|
|
10607
|
+
"Webkit": "webkit[ \/][VER]",
|
|
10608
|
+
"PaleMoon": "PaleMoon\/[VER]",
|
|
10609
|
+
"SailfishBrowser": "SailfishBrowser\/[VER]",
|
|
10610
|
+
"Gecko": "Gecko\/[VER]",
|
|
10611
|
+
"Trident": "Trident\/[VER]",
|
|
10612
|
+
"Presto": "Presto\/[VER]",
|
|
10613
|
+
"Goanna": "Goanna\/[VER]",
|
|
10614
|
+
"iOS": " \\bi?OS\\b [VER][ ;]{1}",
|
|
10615
|
+
"Android": "Android [VER]",
|
|
10616
|
+
"Sailfish": "Sailfish [VER]",
|
|
10617
|
+
"BlackBerry": [
|
|
10618
|
+
"BlackBerry[\\w]+\/[VER]",
|
|
10619
|
+
"BlackBerry.*Version\/[VER]",
|
|
10620
|
+
"Version\/[VER]"
|
|
10621
|
+
],
|
|
10622
|
+
"BREW": "BREW [VER]",
|
|
10623
|
+
"Java": "Java\/[VER]",
|
|
10624
|
+
"Windows Phone OS": [
|
|
10625
|
+
"Windows Phone OS [VER]",
|
|
10626
|
+
"Windows Phone [VER]"
|
|
10627
|
+
],
|
|
10628
|
+
"Windows Phone": "Windows Phone [VER]",
|
|
10629
|
+
"Windows CE": "Windows CE\/[VER]",
|
|
10630
|
+
"Windows NT": "Windows NT [VER]",
|
|
10631
|
+
"Symbian": [
|
|
10632
|
+
"SymbianOS\/[VER]",
|
|
10633
|
+
"Symbian\/[VER]"
|
|
10634
|
+
],
|
|
10635
|
+
"webOS": [
|
|
10636
|
+
"webOS\/[VER]",
|
|
10637
|
+
"hpwOS\/[VER];"
|
|
10638
|
+
]
|
|
10639
|
+
},
|
|
10640
|
+
"utils": {
|
|
10641
|
+
"Bot": "Googlebot|facebookexternalhit|Google-AMPHTML|s~amp-validator|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom|contentkingapp|AspiegelBot",
|
|
10642
|
+
"MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2",
|
|
10643
|
+
"DesktopMode": "WPDesktop",
|
|
10644
|
+
"TV": "SonyDTV|HbbTV",
|
|
10645
|
+
"WebKit": "(webkit)[ \/]([\\w.]+)",
|
|
10646
|
+
"Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\\b",
|
|
10647
|
+
"Watch": "SM-V700"
|
|
10648
|
+
}
|
|
10649
|
+
};
|
|
10650
|
+
|
|
10651
|
+
// following patterns come from http://detectmobilebrowsers.com/
|
|
10652
|
+
impl.detectMobileBrowsers = {
|
|
10653
|
+
fullPattern: /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,
|
|
10654
|
+
shortPattern: /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,
|
|
10655
|
+
tabletPattern: /android|ipad|playbook|silk/i
|
|
10656
|
+
};
|
|
10657
|
+
|
|
10658
|
+
var hasOwnProp = Object.prototype.hasOwnProperty,
|
|
10659
|
+
isArray;
|
|
10660
|
+
|
|
10661
|
+
impl.FALLBACK_PHONE = 'UnknownPhone';
|
|
10662
|
+
impl.FALLBACK_TABLET = 'UnknownTablet';
|
|
10663
|
+
impl.FALLBACK_MOBILE = 'UnknownMobile';
|
|
10664
|
+
|
|
10665
|
+
isArray = ('isArray' in Array) ?
|
|
10666
|
+
Array.isArray : function (value) { return Object.prototype.toString.call(value) === '[object Array]'; };
|
|
10667
|
+
|
|
10668
|
+
function equalIC(a, b) {
|
|
10669
|
+
return a != null && b != null && a.toLowerCase() === b.toLowerCase();
|
|
10670
|
+
}
|
|
10671
|
+
|
|
10672
|
+
function containsIC(array, value) {
|
|
10673
|
+
var valueLC, i, len = array.length;
|
|
10674
|
+
if (!len || !value) {
|
|
10675
|
+
return false;
|
|
10676
|
+
}
|
|
10677
|
+
valueLC = value.toLowerCase();
|
|
10678
|
+
for (i = 0; i < len; ++i) {
|
|
10679
|
+
if (valueLC === array[i].toLowerCase()) {
|
|
10680
|
+
return true;
|
|
10681
|
+
}
|
|
10682
|
+
}
|
|
10683
|
+
return false;
|
|
10684
|
+
}
|
|
10685
|
+
|
|
10686
|
+
function convertPropsToRegExp(object) {
|
|
10687
|
+
for (var key in object) {
|
|
10688
|
+
if (hasOwnProp.call(object, key)) {
|
|
10689
|
+
object[key] = new RegExp(object[key], 'i');
|
|
10690
|
+
}
|
|
10691
|
+
}
|
|
10692
|
+
}
|
|
10693
|
+
|
|
10694
|
+
function prepareUserAgent(userAgent) {
|
|
10695
|
+
return (userAgent || '').substr(0, 500); // mitigate vulnerable to ReDoS
|
|
10696
|
+
}
|
|
10697
|
+
|
|
10698
|
+
(function init() {
|
|
10699
|
+
var key, values, value, i, len, verPos, mobileDetectRules = impl.mobileDetectRules;
|
|
10700
|
+
for (key in mobileDetectRules.props) {
|
|
10701
|
+
if (hasOwnProp.call(mobileDetectRules.props, key)) {
|
|
10702
|
+
values = mobileDetectRules.props[key];
|
|
10703
|
+
if (!isArray(values)) {
|
|
10704
|
+
values = [values];
|
|
10705
|
+
}
|
|
10706
|
+
len = values.length;
|
|
10707
|
+
for (i = 0; i < len; ++i) {
|
|
10708
|
+
value = values[i];
|
|
10709
|
+
verPos = value.indexOf('[VER]');
|
|
10710
|
+
if (verPos >= 0) {
|
|
10711
|
+
value = value.substring(0, verPos) + '([\\w._\\+]+)' + value.substring(verPos + 5);
|
|
10712
|
+
}
|
|
10713
|
+
values[i] = new RegExp(value, 'i');
|
|
10714
|
+
}
|
|
10715
|
+
mobileDetectRules.props[key] = values;
|
|
10716
|
+
}
|
|
10717
|
+
}
|
|
10718
|
+
convertPropsToRegExp(mobileDetectRules.oss);
|
|
10719
|
+
convertPropsToRegExp(mobileDetectRules.phones);
|
|
10720
|
+
convertPropsToRegExp(mobileDetectRules.tablets);
|
|
10721
|
+
convertPropsToRegExp(mobileDetectRules.uas);
|
|
10722
|
+
convertPropsToRegExp(mobileDetectRules.utils);
|
|
10723
|
+
|
|
10724
|
+
// copy some patterns to oss0 which are tested first (see issue#15)
|
|
10725
|
+
mobileDetectRules.oss0 = {
|
|
10726
|
+
WindowsPhoneOS: mobileDetectRules.oss.WindowsPhoneOS,
|
|
10727
|
+
WindowsMobileOS: mobileDetectRules.oss.WindowsMobileOS
|
|
10728
|
+
};
|
|
10729
|
+
}());
|
|
10730
|
+
|
|
10731
|
+
/**
|
|
10732
|
+
* Test userAgent string against a set of rules and find the first matched key.
|
|
10733
|
+
* @param {Object} rules (key is String, value is RegExp)
|
|
10734
|
+
* @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent').
|
|
10735
|
+
* @returns {String|null} the matched key if found, otherwise <tt>null</tt>
|
|
10736
|
+
* @private
|
|
10737
|
+
*/
|
|
10738
|
+
impl.findMatch = function(rules, userAgent) {
|
|
10739
|
+
for (var key in rules) {
|
|
10740
|
+
if (hasOwnProp.call(rules, key)) {
|
|
10741
|
+
if (rules[key].test(userAgent)) {
|
|
10742
|
+
return key;
|
|
10743
|
+
}
|
|
10744
|
+
}
|
|
10745
|
+
}
|
|
10746
|
+
return null;
|
|
10747
|
+
};
|
|
10748
|
+
|
|
10749
|
+
/**
|
|
10750
|
+
* Test userAgent string against a set of rules and return an array of matched keys.
|
|
10751
|
+
* @param {Object} rules (key is String, value is RegExp)
|
|
10752
|
+
* @param {String} userAgent the navigator.userAgent (or HTTP-Header 'User-Agent').
|
|
10753
|
+
* @returns {Array} an array of matched keys, may be empty when there is no match, but not <tt>null</tt>
|
|
10754
|
+
* @private
|
|
10755
|
+
*/
|
|
10756
|
+
impl.findMatches = function(rules, userAgent) {
|
|
10757
|
+
var result = [];
|
|
10758
|
+
for (var key in rules) {
|
|
10759
|
+
if (hasOwnProp.call(rules, key)) {
|
|
10760
|
+
if (rules[key].test(userAgent)) {
|
|
10761
|
+
result.push(key);
|
|
10762
|
+
}
|
|
10763
|
+
}
|
|
10764
|
+
}
|
|
10765
|
+
return result;
|
|
10766
|
+
};
|
|
10767
|
+
|
|
10768
|
+
/**
|
|
10769
|
+
* Check the version of the given property in the User-Agent.
|
|
10770
|
+
*
|
|
10771
|
+
* @param {String} propertyName
|
|
10772
|
+
* @param {String} userAgent
|
|
10773
|
+
* @return {String} version or <tt>null</tt> if version not found
|
|
10774
|
+
* @private
|
|
10775
|
+
*/
|
|
10776
|
+
impl.getVersionStr = function (propertyName, userAgent) {
|
|
10777
|
+
var props = impl.mobileDetectRules.props, patterns, i, len, match;
|
|
10778
|
+
if (hasOwnProp.call(props, propertyName)) {
|
|
10779
|
+
patterns = props[propertyName];
|
|
10780
|
+
len = patterns.length;
|
|
10781
|
+
for (i = 0; i < len; ++i) {
|
|
10782
|
+
match = patterns[i].exec(userAgent);
|
|
10783
|
+
if (match !== null) {
|
|
10784
|
+
return match[1];
|
|
10785
|
+
}
|
|
10786
|
+
}
|
|
10787
|
+
}
|
|
10788
|
+
return null;
|
|
10789
|
+
};
|
|
10790
|
+
|
|
10791
|
+
/**
|
|
10792
|
+
* Check the version of the given property in the User-Agent.
|
|
10793
|
+
* Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31)
|
|
10794
|
+
*
|
|
10795
|
+
* @param {String} propertyName
|
|
10796
|
+
* @param {String} userAgent
|
|
10797
|
+
* @return {Number} version or <tt>NaN</tt> if version not found
|
|
10798
|
+
* @private
|
|
10799
|
+
*/
|
|
10800
|
+
impl.getVersion = function (propertyName, userAgent) {
|
|
10801
|
+
var version = impl.getVersionStr(propertyName, userAgent);
|
|
10802
|
+
return version ? impl.prepareVersionNo(version) : NaN;
|
|
10803
|
+
};
|
|
10804
|
+
|
|
10805
|
+
/**
|
|
10806
|
+
* Prepare the version number.
|
|
10807
|
+
*
|
|
10808
|
+
* @param {String} version
|
|
10809
|
+
* @return {Number} the version number as a floating number
|
|
10810
|
+
* @private
|
|
10811
|
+
*/
|
|
10812
|
+
impl.prepareVersionNo = function (version) {
|
|
10813
|
+
var numbers;
|
|
10814
|
+
|
|
10815
|
+
numbers = version.split(/[a-z._ \/\-]/i);
|
|
10816
|
+
if (numbers.length === 1) {
|
|
10817
|
+
version = numbers[0];
|
|
10818
|
+
}
|
|
10819
|
+
if (numbers.length > 1) {
|
|
10820
|
+
version = numbers[0] + '.';
|
|
10821
|
+
numbers.shift();
|
|
10822
|
+
version += numbers.join('');
|
|
10823
|
+
}
|
|
10824
|
+
return Number(version);
|
|
10825
|
+
};
|
|
10826
|
+
|
|
10827
|
+
impl.isMobileFallback = function (userAgent) {
|
|
10828
|
+
return impl.detectMobileBrowsers.fullPattern.test(userAgent) ||
|
|
10829
|
+
impl.detectMobileBrowsers.shortPattern.test(userAgent.substr(0,4));
|
|
10830
|
+
};
|
|
10831
|
+
|
|
10832
|
+
impl.isTabletFallback = function (userAgent) {
|
|
10833
|
+
return impl.detectMobileBrowsers.tabletPattern.test(userAgent);
|
|
10834
|
+
};
|
|
10835
|
+
|
|
10836
|
+
impl.prepareDetectionCache = function (cache, userAgent, maxPhoneWidth) {
|
|
10837
|
+
if (cache.mobile !== undefined) {
|
|
10838
|
+
return;
|
|
10839
|
+
}
|
|
10840
|
+
var phone, tablet, phoneSized;
|
|
10841
|
+
|
|
10842
|
+
// first check for stronger tablet rules, then phone (see issue#5)
|
|
10843
|
+
tablet = impl.findMatch(impl.mobileDetectRules.tablets, userAgent);
|
|
10844
|
+
if (tablet) {
|
|
10845
|
+
cache.mobile = cache.tablet = tablet;
|
|
10846
|
+
cache.phone = null;
|
|
10847
|
+
return; // unambiguously identified as tablet
|
|
10848
|
+
}
|
|
10849
|
+
|
|
10850
|
+
phone = impl.findMatch(impl.mobileDetectRules.phones, userAgent);
|
|
10851
|
+
if (phone) {
|
|
10852
|
+
cache.mobile = cache.phone = phone;
|
|
10853
|
+
cache.tablet = null;
|
|
10854
|
+
return; // unambiguously identified as phone
|
|
10855
|
+
}
|
|
10856
|
+
|
|
10857
|
+
// our rules haven't found a match -> try more general fallback rules
|
|
10858
|
+
if (impl.isMobileFallback(userAgent)) {
|
|
10859
|
+
phoneSized = MobileDetect.isPhoneSized(maxPhoneWidth);
|
|
10860
|
+
if (phoneSized === undefined) {
|
|
10861
|
+
cache.mobile = impl.FALLBACK_MOBILE;
|
|
10862
|
+
cache.tablet = cache.phone = null;
|
|
10863
|
+
} else if (phoneSized) {
|
|
10864
|
+
cache.mobile = cache.phone = impl.FALLBACK_PHONE;
|
|
10865
|
+
cache.tablet = null;
|
|
10866
|
+
} else {
|
|
10867
|
+
cache.mobile = cache.tablet = impl.FALLBACK_TABLET;
|
|
10868
|
+
cache.phone = null;
|
|
10869
|
+
}
|
|
10870
|
+
} else if (impl.isTabletFallback(userAgent)) {
|
|
10871
|
+
cache.mobile = cache.tablet = impl.FALLBACK_TABLET;
|
|
10872
|
+
cache.phone = null;
|
|
10873
|
+
} else {
|
|
10874
|
+
// not mobile at all!
|
|
10875
|
+
cache.mobile = cache.tablet = cache.phone = null;
|
|
10876
|
+
}
|
|
10877
|
+
};
|
|
10878
|
+
|
|
10879
|
+
// t is a reference to a MobileDetect instance
|
|
10880
|
+
impl.mobileGrade = function (t) {
|
|
10881
|
+
// impl note:
|
|
10882
|
+
// To keep in sync w/ Mobile_Detect.php easily, the following code is tightly aligned to the PHP version.
|
|
10883
|
+
// When changes are made in Mobile_Detect.php, copy this method and replace:
|
|
10884
|
+
// $this-> / t.
|
|
10885
|
+
// self::MOBILE_GRADE_(.) / '$1'
|
|
10886
|
+
// , self::VERSION_TYPE_FLOAT / (nothing)
|
|
10887
|
+
// isIOS() / os('iOS')
|
|
10888
|
+
// [reg] / (nothing) <-- jsdelivr complaining about unescaped unicode character U+00AE
|
|
10889
|
+
var $isMobile = t.mobile() !== null;
|
|
10890
|
+
|
|
10891
|
+
if (
|
|
10892
|
+
// Apple iOS 3.2-5.1 - Tested on the original iPad (4.3 / 5.0), iPad 2 (4.3), iPad 3 (5.1), original iPhone (3.1), iPhone 3 (3.2), 3GS (4.3), 4 (4.3 / 5.0), and 4S (5.1)
|
|
10893
|
+
t.os('iOS') && t.version('iPad')>=4.3 ||
|
|
10894
|
+
t.os('iOS') && t.version('iPhone')>=3.1 ||
|
|
10895
|
+
t.os('iOS') && t.version('iPod')>=3.1 ||
|
|
10896
|
+
|
|
10897
|
+
// Android 2.1-2.3 - Tested on the HTC Incredible (2.2), original Droid (2.2), HTC Aria (2.1), Google Nexus S (2.3). Functional on 1.5 & 1.6 but performance may be sluggish, tested on Google G1 (1.5)
|
|
10898
|
+
// Android 3.1 (Honeycomb) - Tested on the Samsung Galaxy Tab 10.1 and Motorola XOOM
|
|
10899
|
+
// Android 4.0 (ICS) - Tested on a Galaxy Nexus. Note: transition performance can be poor on upgraded devices
|
|
10900
|
+
// Android 4.1 (Jelly Bean) - Tested on a Galaxy Nexus and Galaxy 7
|
|
10901
|
+
( t.version('Android')>2.1 && t.is('Webkit') ) ||
|
|
10902
|
+
|
|
10903
|
+
// Windows Phone 7-7.5 - Tested on the HTC Surround (7.0) HTC Trophy (7.5), LG-E900 (7.5), Nokia Lumia 800
|
|
10904
|
+
t.version('Windows Phone OS')>=7.0 ||
|
|
10905
|
+
|
|
10906
|
+
// Blackberry 7 - Tested on BlackBerry Torch 9810
|
|
10907
|
+
// Blackberry 6.0 - Tested on the Torch 9800 and Style 9670
|
|
10908
|
+
t.is('BlackBerry') && t.version('BlackBerry')>=6.0 ||
|
|
10909
|
+
// Blackberry Playbook (1.0-2.0) - Tested on PlayBook
|
|
10910
|
+
t.match('Playbook.*Tablet') ||
|
|
10911
|
+
|
|
10912
|
+
// Palm WebOS (1.4-2.0) - Tested on the Palm Pixi (1.4), Pre (1.4), Pre 2 (2.0)
|
|
10913
|
+
( t.version('webOS')>=1.4 && t.match('Palm|Pre|Pixi') ) ||
|
|
10914
|
+
// Palm WebOS 3.0 - Tested on HP TouchPad
|
|
10915
|
+
t.match('hp.*TouchPad') ||
|
|
10916
|
+
|
|
10917
|
+
// Firefox Mobile (12 Beta) - Tested on Android 2.3 device
|
|
10918
|
+
( t.is('Firefox') && t.version('Firefox')>=12 ) ||
|
|
10919
|
+
|
|
10920
|
+
// Chrome for Android - Tested on Android 4.0, 4.1 device
|
|
10921
|
+
( t.is('Chrome') && t.is('AndroidOS') && t.version('Android')>=4.0 ) ||
|
|
10922
|
+
|
|
10923
|
+
// Skyfire 4.1 - Tested on Android 2.3 device
|
|
10924
|
+
( t.is('Skyfire') && t.version('Skyfire')>=4.1 && t.is('AndroidOS') && t.version('Android')>=2.3 ) ||
|
|
10925
|
+
|
|
10926
|
+
// Opera Mobile 11.5-12: Tested on Android 2.3
|
|
10927
|
+
( t.is('Opera') && t.version('Opera Mobi')>11 && t.is('AndroidOS') ) ||
|
|
10928
|
+
|
|
10929
|
+
// Meego 1.2 - Tested on Nokia 950 and N9
|
|
10930
|
+
t.is('MeeGoOS') ||
|
|
10931
|
+
|
|
10932
|
+
// Tizen (pre-release) - Tested on early hardware
|
|
10933
|
+
t.is('Tizen') ||
|
|
10934
|
+
|
|
10935
|
+
// Samsung Bada 2.0 - Tested on a Samsung Wave 3, Dolphin browser
|
|
10936
|
+
// @todo: more tests here!
|
|
10937
|
+
t.is('Dolfin') && t.version('Bada')>=2.0 ||
|
|
10938
|
+
|
|
10939
|
+
// UC Browser - Tested on Android 2.3 device
|
|
10940
|
+
( (t.is('UC Browser') || t.is('Dolfin')) && t.version('Android')>=2.3 ) ||
|
|
10941
|
+
|
|
10942
|
+
// Kindle 3 and Fire - Tested on the built-in WebKit browser for each
|
|
10943
|
+
( t.match('Kindle Fire') ||
|
|
10944
|
+
t.is('Kindle') && t.version('Kindle')>=3.0 ) ||
|
|
10945
|
+
|
|
10946
|
+
// Nook Color 1.4.1 - Tested on original Nook Color, not Nook Tablet
|
|
10947
|
+
t.is('AndroidOS') && t.is('NookTablet') ||
|
|
10948
|
+
|
|
10949
|
+
// Chrome Desktop 11-21 - Tested on OS X 10.7 and Windows 7
|
|
10950
|
+
t.version('Chrome')>=11 && !$isMobile ||
|
|
10951
|
+
|
|
10952
|
+
// Safari Desktop 4-5 - Tested on OS X 10.7 and Windows 7
|
|
10953
|
+
t.version('Safari')>=5.0 && !$isMobile ||
|
|
10954
|
+
|
|
10955
|
+
// Firefox Desktop 4-13 - Tested on OS X 10.7 and Windows 7
|
|
10956
|
+
t.version('Firefox')>=4.0 && !$isMobile ||
|
|
10957
|
+
|
|
10958
|
+
// Internet Explorer 7-9 - Tested on Windows XP, Vista and 7
|
|
10959
|
+
t.version('MSIE')>=7.0 && !$isMobile ||
|
|
10960
|
+
|
|
10961
|
+
// Opera Desktop 10-12 - Tested on OS X 10.7 and Windows 7
|
|
10962
|
+
// @reference: http://my.opera.com/community/openweb/idopera/
|
|
10963
|
+
t.version('Opera')>=10 && !$isMobile
|
|
10964
|
+
|
|
10965
|
+
){
|
|
10966
|
+
return 'A';
|
|
10967
|
+
}
|
|
10968
|
+
|
|
10969
|
+
if (
|
|
10970
|
+
t.os('iOS') && t.version('iPad')<4.3 ||
|
|
10971
|
+
t.os('iOS') && t.version('iPhone')<3.1 ||
|
|
10972
|
+
t.os('iOS') && t.version('iPod')<3.1 ||
|
|
10973
|
+
|
|
10974
|
+
// Blackberry 5.0: Tested on the Storm 2 9550, Bold 9770
|
|
10975
|
+
t.is('Blackberry') && t.version('BlackBerry')>=5 && t.version('BlackBerry')<6 ||
|
|
10976
|
+
|
|
10977
|
+
//Opera Mini (5.0-6.5) - Tested on iOS 3.2/4.3 and Android 2.3
|
|
10978
|
+
( t.version('Opera Mini')>=5.0 && t.version('Opera Mini')<=6.5 &&
|
|
10979
|
+
(t.version('Android')>=2.3 || t.is('iOS')) ) ||
|
|
10980
|
+
|
|
10981
|
+
// Nokia Symbian^3 - Tested on Nokia N8 (Symbian^3), C7 (Symbian^3), also works on N97 (Symbian^1)
|
|
10982
|
+
t.match('NokiaN8|NokiaC7|N97.*Series60|Symbian/3') ||
|
|
10983
|
+
|
|
10984
|
+
// @todo: report this (tested on Nokia N71)
|
|
10985
|
+
t.version('Opera Mobi')>=11 && t.is('SymbianOS')
|
|
10986
|
+
){
|
|
10987
|
+
return 'B';
|
|
10988
|
+
}
|
|
10989
|
+
|
|
10990
|
+
if (
|
|
10991
|
+
// Blackberry 4.x - Tested on the Curve 8330
|
|
10992
|
+
t.version('BlackBerry')<5.0 ||
|
|
10993
|
+
// Windows Mobile - Tested on the HTC Leo (WinMo 5.2)
|
|
10994
|
+
t.match('MSIEMobile|Windows CE.*Mobile') || t.version('Windows Mobile')<=5.2
|
|
10995
|
+
|
|
10996
|
+
){
|
|
10997
|
+
return 'C';
|
|
10998
|
+
}
|
|
10999
|
+
|
|
11000
|
+
//All older smartphone platforms and featurephones - Any device that doesn't support media queries
|
|
11001
|
+
//will receive the basic, C grade experience.
|
|
11002
|
+
return 'C';
|
|
11003
|
+
};
|
|
11004
|
+
|
|
11005
|
+
impl.detectOS = function (ua) {
|
|
11006
|
+
return impl.findMatch(impl.mobileDetectRules.oss0, ua) ||
|
|
11007
|
+
impl.findMatch(impl.mobileDetectRules.oss, ua);
|
|
11008
|
+
};
|
|
11009
|
+
|
|
11010
|
+
impl.getDeviceSmallerSide = function () {
|
|
11011
|
+
return window.screen.width < window.screen.height ?
|
|
11012
|
+
window.screen.width :
|
|
11013
|
+
window.screen.height;
|
|
11014
|
+
};
|
|
11015
|
+
|
|
11016
|
+
/**
|
|
11017
|
+
* Constructor for MobileDetect object.
|
|
11018
|
+
* <br>
|
|
11019
|
+
* Such an object will keep a reference to the given user-agent string and cache most of the detect queries.<br>
|
|
11020
|
+
* <div style="background-color: #d9edf7; border: 1px solid #bce8f1; color: #3a87ad; padding: 14px; border-radius: 2px; margin-top: 20px">
|
|
11021
|
+
* <strong>Find information how to download and install:</strong>
|
|
11022
|
+
* <a href="https://github.com/hgoebl/mobile-detect.js/">github.com/hgoebl/mobile-detect.js/</a>
|
|
11023
|
+
* </div>
|
|
11024
|
+
*
|
|
11025
|
+
* @example <pre>
|
|
11026
|
+
* var md = new MobileDetect(window.navigator.userAgent);
|
|
11027
|
+
* if (md.mobile()) {
|
|
11028
|
+
* location.href = (md.mobileGrade() === 'A') ? '/mobile/' : '/lynx/';
|
|
11029
|
+
* }
|
|
11030
|
+
* </pre>
|
|
11031
|
+
*
|
|
11032
|
+
* @param {string} userAgent typically taken from window.navigator.userAgent or http_header['User-Agent']
|
|
11033
|
+
* @param {number} [maxPhoneWidth=600] <strong>only for browsers</strong> specify a value for the maximum
|
|
11034
|
+
* width of smallest device side (in logical "CSS" pixels) until a device detected as mobile will be handled
|
|
11035
|
+
* as phone.
|
|
11036
|
+
* This is only used in cases where the device cannot be classified as phone or tablet.<br>
|
|
11037
|
+
* See <a href="http://developer.android.com/guide/practices/screens_support.html">Declaring Tablet Layouts
|
|
11038
|
+
* for Android</a>.<br>
|
|
11039
|
+
* If you provide a value < 0, then this "fuzzy" check is disabled.
|
|
11040
|
+
* @constructor
|
|
11041
|
+
* @global
|
|
11042
|
+
*/
|
|
11043
|
+
function MobileDetect(userAgent, maxPhoneWidth) {
|
|
11044
|
+
this.ua = prepareUserAgent(userAgent);
|
|
11045
|
+
this._cache = {};
|
|
11046
|
+
//600dp is typical 7" tablet minimum width
|
|
11047
|
+
this.maxPhoneWidth = maxPhoneWidth || 600;
|
|
11048
|
+
}
|
|
11049
|
+
|
|
11050
|
+
MobileDetect.prototype = {
|
|
11051
|
+
constructor: MobileDetect,
|
|
11052
|
+
|
|
11053
|
+
/**
|
|
11054
|
+
* Returns the detected phone or tablet type or <tt>null</tt> if it is not a mobile device.
|
|
11055
|
+
* <br>
|
|
11056
|
+
* For a list of possible return values see {@link MobileDetect#phone} and {@link MobileDetect#tablet}.<br>
|
|
11057
|
+
* <br>
|
|
11058
|
+
* If the device is not detected by the regular expressions from Mobile-Detect, a test is made against
|
|
11059
|
+
* the patterns of <a href="http://detectmobilebrowsers.com/">detectmobilebrowsers.com</a>. If this test
|
|
11060
|
+
* is positive, a value of <code>UnknownPhone</code>, <code>UnknownTablet</code> or
|
|
11061
|
+
* <code>UnknownMobile</code> is returned.<br>
|
|
11062
|
+
* When used in browser, the decision whether phone or tablet is made based on <code>screen.width/height</code>.<br>
|
|
11063
|
+
* <br>
|
|
11064
|
+
* When used server-side (node.js), there is no way to tell the difference between <code>UnknownTablet</code>
|
|
11065
|
+
* and <code>UnknownMobile</code>, so you will get <code>UnknownMobile</code> here.<br>
|
|
11066
|
+
* Be aware that since v1.0.0 in this special case you will get <code>UnknownMobile</code> only for:
|
|
11067
|
+
* {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.
|
|
11068
|
+
* In versions before v1.0.0 all 3 methods returned <code>UnknownMobile</code> which was tedious to use.
|
|
11069
|
+
* <br>
|
|
11070
|
+
* In most cases you will use the return value just as a boolean.
|
|
11071
|
+
*
|
|
11072
|
+
* @returns {String} the key for the phone family or tablet family, e.g. "Nexus".
|
|
11073
|
+
* @function MobileDetect#mobile
|
|
11074
|
+
*/
|
|
11075
|
+
mobile: function () {
|
|
11076
|
+
impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);
|
|
11077
|
+
return this._cache.mobile;
|
|
11078
|
+
},
|
|
11079
|
+
|
|
11080
|
+
/**
|
|
11081
|
+
* Returns the detected phone type/family string or <tt>null</tt>.
|
|
11082
|
+
* <br>
|
|
11083
|
+
* The returned tablet (family or producer) is one of following keys:<br>
|
|
11084
|
+
* <br><tt>iPhone, BlackBerry, Pixel, HTC, Nexus, Dell, Motorola, Samsung, LG, Sony, Asus,
|
|
11085
|
+
* Xiaomi, NokiaLumia, Micromax, Palm, Vertu, Pantech, Fly, Wiko, iMobile,
|
|
11086
|
+
* SimValley, Wolfgang, Alcatel, Nintendo, Amoi, INQ, OnePlus, GenericPhone</tt><br>
|
|
11087
|
+
* <br>
|
|
11088
|
+
* If the device is not detected by the regular expressions from Mobile-Detect, a test is made against
|
|
11089
|
+
* the patterns of <a href="http://detectmobilebrowsers.com/">detectmobilebrowsers.com</a>. If this test
|
|
11090
|
+
* is positive, a value of <code>UnknownPhone</code> or <code>UnknownMobile</code> is returned.<br>
|
|
11091
|
+
* When used in browser, the decision whether phone or tablet is made based on <code>screen.width/height</code>.<br>
|
|
11092
|
+
* <br>
|
|
11093
|
+
* When used server-side (node.js), there is no way to tell the difference between <code>UnknownTablet</code>
|
|
11094
|
+
* and <code>UnknownMobile</code>, so you will get <code>null</code> here, while {@link MobileDetect#mobile}
|
|
11095
|
+
* will return <code>UnknownMobile</code>.<br>
|
|
11096
|
+
* Be aware that since v1.0.0 in this special case you will get <code>UnknownMobile</code> only for:
|
|
11097
|
+
* {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.
|
|
11098
|
+
* In versions before v1.0.0 all 3 methods returned <code>UnknownMobile</code> which was tedious to use.
|
|
11099
|
+
* <br>
|
|
11100
|
+
* In most cases you will use the return value just as a boolean.
|
|
11101
|
+
*
|
|
11102
|
+
* @returns {String} the key of the phone family or producer, e.g. "iPhone"
|
|
11103
|
+
* @function MobileDetect#phone
|
|
11104
|
+
*/
|
|
11105
|
+
phone: function () {
|
|
11106
|
+
impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);
|
|
11107
|
+
return this._cache.phone;
|
|
11108
|
+
},
|
|
11109
|
+
|
|
11110
|
+
/**
|
|
11111
|
+
* Returns the detected tablet type/family string or <tt>null</tt>.
|
|
11112
|
+
* <br>
|
|
11113
|
+
* The returned tablet (family or producer) is one of following keys:<br>
|
|
11114
|
+
* <br><tt>iPad, NexusTablet, GoogleTablet, SamsungTablet, Kindle, SurfaceTablet,
|
|
11115
|
+
* HPTablet, AsusTablet, BlackBerryTablet, HTCtablet, MotorolaTablet, NookTablet,
|
|
11116
|
+
* AcerTablet, ToshibaTablet, LGTablet, FujitsuTablet, PrestigioTablet,
|
|
11117
|
+
* LenovoTablet, DellTablet, YarvikTablet, MedionTablet, ArnovaTablet,
|
|
11118
|
+
* IntensoTablet, IRUTablet, MegafonTablet, EbodaTablet, AllViewTablet,
|
|
11119
|
+
* ArchosTablet, AinolTablet, NokiaLumiaTablet, SonyTablet, PhilipsTablet,
|
|
11120
|
+
* CubeTablet, CobyTablet, MIDTablet, MSITablet, SMiTTablet, RockChipTablet,
|
|
11121
|
+
* FlyTablet, bqTablet, HuaweiTablet, NecTablet, PantechTablet, BronchoTablet,
|
|
11122
|
+
* VersusTablet, ZyncTablet, PositivoTablet, NabiTablet, KoboTablet, DanewTablet,
|
|
11123
|
+
* TexetTablet, PlaystationTablet, TrekstorTablet, PyleAudioTablet, AdvanTablet,
|
|
11124
|
+
* DanyTechTablet, GalapadTablet, MicromaxTablet, KarbonnTablet, AllFineTablet,
|
|
11125
|
+
* PROSCANTablet, YONESTablet, ChangJiaTablet, GUTablet, PointOfViewTablet,
|
|
11126
|
+
* OvermaxTablet, HCLTablet, DPSTablet, VistureTablet, CrestaTablet,
|
|
11127
|
+
* MediatekTablet, ConcordeTablet, GoCleverTablet, ModecomTablet, VoninoTablet,
|
|
11128
|
+
* ECSTablet, StorexTablet, VodafoneTablet, EssentielBTablet, RossMoorTablet,
|
|
11129
|
+
* iMobileTablet, TolinoTablet, AudioSonicTablet, AMPETablet, SkkTablet,
|
|
11130
|
+
* TecnoTablet, JXDTablet, iJoyTablet, FX2Tablet, XoroTablet, ViewsonicTablet,
|
|
11131
|
+
* VerizonTablet, OdysTablet, CaptivaTablet, IconbitTablet, TeclastTablet,
|
|
11132
|
+
* OndaTablet, JaytechTablet, BlaupunktTablet, DigmaTablet, EvolioTablet,
|
|
11133
|
+
* LavaTablet, AocTablet, MpmanTablet, CelkonTablet, WolderTablet, MediacomTablet,
|
|
11134
|
+
* MiTablet, NibiruTablet, NexoTablet, LeaderTablet, UbislateTablet,
|
|
11135
|
+
* PocketBookTablet, KocasoTablet, HisenseTablet, Hudl, TelstraTablet,
|
|
11136
|
+
* GenericTablet</tt><br>
|
|
11137
|
+
* <br>
|
|
11138
|
+
* If the device is not detected by the regular expressions from Mobile-Detect, a test is made against
|
|
11139
|
+
* the patterns of <a href="http://detectmobilebrowsers.com/">detectmobilebrowsers.com</a>. If this test
|
|
11140
|
+
* is positive, a value of <code>UnknownTablet</code> or <code>UnknownMobile</code> is returned.<br>
|
|
11141
|
+
* When used in browser, the decision whether phone or tablet is made based on <code>screen.width/height</code>.<br>
|
|
11142
|
+
* <br>
|
|
11143
|
+
* When used server-side (node.js), there is no way to tell the difference between <code>UnknownTablet</code>
|
|
11144
|
+
* and <code>UnknownMobile</code>, so you will get <code>null</code> here, while {@link MobileDetect#mobile}
|
|
11145
|
+
* will return <code>UnknownMobile</code>.<br>
|
|
11146
|
+
* Be aware that since v1.0.0 in this special case you will get <code>UnknownMobile</code> only for:
|
|
11147
|
+
* {@link MobileDetect#mobile}, not for {@link MobileDetect#phone} and {@link MobileDetect#tablet}.
|
|
11148
|
+
* In versions before v1.0.0 all 3 methods returned <code>UnknownMobile</code> which was tedious to use.
|
|
11149
|
+
* <br>
|
|
11150
|
+
* In most cases you will use the return value just as a boolean.
|
|
11151
|
+
*
|
|
11152
|
+
* @returns {String} the key of the tablet family or producer, e.g. "SamsungTablet"
|
|
11153
|
+
* @function MobileDetect#tablet
|
|
11154
|
+
*/
|
|
11155
|
+
tablet: function () {
|
|
11156
|
+
impl.prepareDetectionCache(this._cache, this.ua, this.maxPhoneWidth);
|
|
11157
|
+
return this._cache.tablet;
|
|
11158
|
+
},
|
|
11159
|
+
|
|
11160
|
+
/**
|
|
11161
|
+
* Returns the (first) detected user-agent string or <tt>null</tt>.
|
|
11162
|
+
* <br>
|
|
11163
|
+
* The returned user-agent is one of following keys:<br>
|
|
11164
|
+
* <br><tt>Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, Blazer,
|
|
11165
|
+
* Safari, WeChat, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, Mercury,
|
|
11166
|
+
* ObigoBrowser, NetFront, GenericBrowser, PaleMoon</tt><br>
|
|
11167
|
+
* <br>
|
|
11168
|
+
* In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare
|
|
11169
|
+
* cases where a mobile device pretends to be more than one particular browser. You can get the
|
|
11170
|
+
* list of all matches with {@link MobileDetect#userAgents} or check for a particular value by
|
|
11171
|
+
* providing one of the defined keys as first argument to {@link MobileDetect#is}.
|
|
11172
|
+
*
|
|
11173
|
+
* @returns {String} the key for the detected user-agent or <tt>null</tt>
|
|
11174
|
+
* @function MobileDetect#userAgent
|
|
11175
|
+
*/
|
|
11176
|
+
userAgent: function () {
|
|
11177
|
+
if (this._cache.userAgent === undefined) {
|
|
11178
|
+
this._cache.userAgent = impl.findMatch(impl.mobileDetectRules.uas, this.ua);
|
|
11179
|
+
}
|
|
11180
|
+
return this._cache.userAgent;
|
|
11181
|
+
},
|
|
11182
|
+
|
|
11183
|
+
/**
|
|
11184
|
+
* Returns all detected user-agent strings.
|
|
11185
|
+
* <br>
|
|
11186
|
+
* The array is empty or contains one or more of following keys:<br>
|
|
11187
|
+
* <br><tt>Chrome, Dolfin, Opera, Skyfire, Edge, IE, Firefox, Bolt, TeaShark, Blazer,
|
|
11188
|
+
* Safari, WeChat, UCBrowser, baiduboxapp, baidubrowser, DiigoBrowser, Mercury,
|
|
11189
|
+
* ObigoBrowser, NetFront, GenericBrowser, PaleMoon</tt><br>
|
|
11190
|
+
* <br>
|
|
11191
|
+
* In most cases calling {@link MobileDetect#userAgent} will be sufficient. But there are rare
|
|
11192
|
+
* cases where a mobile device pretends to be more than one particular browser. You can get the
|
|
11193
|
+
* list of all matches with {@link MobileDetect#userAgents} or check for a particular value by
|
|
11194
|
+
* providing one of the defined keys as first argument to {@link MobileDetect#is}.
|
|
11195
|
+
*
|
|
11196
|
+
* @returns {Array} the array of detected user-agent keys or <tt>[]</tt>
|
|
11197
|
+
* @function MobileDetect#userAgents
|
|
11198
|
+
*/
|
|
11199
|
+
userAgents: function () {
|
|
11200
|
+
if (this._cache.userAgents === undefined) {
|
|
11201
|
+
this._cache.userAgents = impl.findMatches(impl.mobileDetectRules.uas, this.ua);
|
|
11202
|
+
}
|
|
11203
|
+
return this._cache.userAgents;
|
|
11204
|
+
},
|
|
11205
|
+
|
|
11206
|
+
/**
|
|
11207
|
+
* Returns the detected operating system string or <tt>null</tt>.
|
|
11208
|
+
* <br>
|
|
11209
|
+
* The operating system is one of following keys:<br>
|
|
11210
|
+
* <br><tt>AndroidOS, BlackBerryOS, PalmOS, SymbianOS, WindowsMobileOS, WindowsPhoneOS,
|
|
11211
|
+
* iOS, iPadOS, SailfishOS, MeeGoOS, MaemoOS, JavaOS, webOS, badaOS, BREWOS</tt><br>
|
|
11212
|
+
*
|
|
11213
|
+
* @returns {String} the key for the detected operating system.
|
|
11214
|
+
* @function MobileDetect#os
|
|
11215
|
+
*/
|
|
11216
|
+
os: function () {
|
|
11217
|
+
if (this._cache.os === undefined) {
|
|
11218
|
+
this._cache.os = impl.detectOS(this.ua);
|
|
11219
|
+
}
|
|
11220
|
+
return this._cache.os;
|
|
11221
|
+
},
|
|
11222
|
+
|
|
11223
|
+
/**
|
|
11224
|
+
* Get the version (as Number) of the given property in the User-Agent.
|
|
11225
|
+
* <br>
|
|
11226
|
+
* Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31)
|
|
11227
|
+
*
|
|
11228
|
+
* @param {String} key a key defining a thing which has a version.<br>
|
|
11229
|
+
* You can use one of following keys:<br>
|
|
11230
|
+
* <br><tt>Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast,
|
|
11231
|
+
* Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini,
|
|
11232
|
+
* Opera Mobi, UCBrowser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser,
|
|
11233
|
+
* SamsungBrowser, Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon,
|
|
11234
|
+
* SailfishBrowser, Gecko, Trident, Presto, Goanna, iOS, Android, Sailfish,
|
|
11235
|
+
* BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows CE, Windows
|
|
11236
|
+
* NT, Symbian, webOS</tt><br>
|
|
11237
|
+
*
|
|
11238
|
+
* @returns {Number} the version as float or <tt>NaN</tt> if User-Agent doesn't contain this version.
|
|
11239
|
+
* Be careful when comparing this value with '==' operator!
|
|
11240
|
+
* @function MobileDetect#version
|
|
11241
|
+
*/
|
|
11242
|
+
version: function (key) {
|
|
11243
|
+
return impl.getVersion(key, this.ua);
|
|
11244
|
+
},
|
|
11245
|
+
|
|
11246
|
+
/**
|
|
11247
|
+
* Get the version (as String) of the given property in the User-Agent.
|
|
11248
|
+
* <br>
|
|
11249
|
+
*
|
|
11250
|
+
* @param {String} key a key defining a thing which has a version.<br>
|
|
11251
|
+
* You can use one of following keys:<br>
|
|
11252
|
+
* <br><tt>Mobile, Build, Version, VendorID, iPad, iPhone, iPod, Kindle, Chrome, Coast,
|
|
11253
|
+
* Dolfin, Firefox, Fennec, Edge, IE, NetFront, NokiaBrowser, Opera, Opera Mini,
|
|
11254
|
+
* Opera Mobi, UCBrowser, MQQBrowser, MicroMessenger, baiduboxapp, baidubrowser,
|
|
11255
|
+
* SamsungBrowser, Iron, Safari, Skyfire, Tizen, Webkit, PaleMoon,
|
|
11256
|
+
* SailfishBrowser, Gecko, Trident, Presto, Goanna, iOS, Android, Sailfish,
|
|
11257
|
+
* BlackBerry, BREW, Java, Windows Phone OS, Windows Phone, Windows CE, Windows
|
|
11258
|
+
* NT, Symbian, webOS</tt><br>
|
|
11259
|
+
*
|
|
11260
|
+
* @returns {String} the "raw" version as String or <tt>null</tt> if User-Agent doesn't contain this version.
|
|
11261
|
+
*
|
|
11262
|
+
* @function MobileDetect#versionStr
|
|
11263
|
+
*/
|
|
11264
|
+
versionStr: function (key) {
|
|
11265
|
+
return impl.getVersionStr(key, this.ua);
|
|
11266
|
+
},
|
|
11267
|
+
|
|
11268
|
+
/**
|
|
11269
|
+
* Global test key against userAgent, os, phone, tablet and some other properties of userAgent string.
|
|
11270
|
+
*
|
|
11271
|
+
* @param {String} key the key (case-insensitive) of a userAgent, an operating system, phone or
|
|
11272
|
+
* tablet family.<br>
|
|
11273
|
+
* For a complete list of possible values, see {@link MobileDetect#userAgent},
|
|
11274
|
+
* {@link MobileDetect#os}, {@link MobileDetect#phone}, {@link MobileDetect#tablet}.<br>
|
|
11275
|
+
* Additionally you have following keys:<br>
|
|
11276
|
+
* <br><tt>Bot, MobileBot, DesktopMode, TV, WebKit, Console, Watch</tt><br>
|
|
11277
|
+
*
|
|
11278
|
+
* @returns {boolean} <tt>true</tt> when the given key is one of the defined keys of userAgent, os, phone,
|
|
11279
|
+
* tablet or one of the listed additional keys, otherwise <tt>false</tt>
|
|
11280
|
+
* @function MobileDetect#is
|
|
11281
|
+
*/
|
|
11282
|
+
is: function (key) {
|
|
11283
|
+
return containsIC(this.userAgents(), key) ||
|
|
11284
|
+
equalIC(key, this.os()) ||
|
|
11285
|
+
equalIC(key, this.phone()) ||
|
|
11286
|
+
equalIC(key, this.tablet()) ||
|
|
11287
|
+
containsIC(impl.findMatches(impl.mobileDetectRules.utils, this.ua), key);
|
|
11288
|
+
},
|
|
11289
|
+
|
|
11290
|
+
/**
|
|
11291
|
+
* Do a quick test against navigator::userAgent.
|
|
11292
|
+
*
|
|
11293
|
+
* @param {String|RegExp} pattern the pattern, either as String or RegExp
|
|
11294
|
+
* (a string will be converted to a case-insensitive RegExp).
|
|
11295
|
+
* @returns {boolean} <tt>true</tt> when the pattern matches, otherwise <tt>false</tt>
|
|
11296
|
+
* @function MobileDetect#match
|
|
11297
|
+
*/
|
|
11298
|
+
match: function (pattern) {
|
|
11299
|
+
if (!(pattern instanceof RegExp)) {
|
|
11300
|
+
pattern = new RegExp(pattern, 'i');
|
|
11301
|
+
}
|
|
11302
|
+
return pattern.test(this.ua);
|
|
11303
|
+
},
|
|
11304
|
+
|
|
11305
|
+
/**
|
|
11306
|
+
* Checks whether the mobile device can be considered as phone regarding <code>screen.width</code>.
|
|
11307
|
+
* <br>
|
|
11308
|
+
* Obviously this method makes sense in browser environments only (not for Node.js)!
|
|
11309
|
+
* @param {number} [maxPhoneWidth] the maximum logical pixels (aka. CSS-pixels) to be considered as phone.<br>
|
|
11310
|
+
* The argument is optional and if not present or falsy, the value of the constructor is taken.
|
|
11311
|
+
* @returns {boolean|undefined} <code>undefined</code> if screen size wasn't detectable, else <code>true</code>
|
|
11312
|
+
* when screen.width is less or equal to maxPhoneWidth, otherwise <code>false</code>.<br>
|
|
11313
|
+
* Will always return <code>undefined</code> server-side.
|
|
11314
|
+
*/
|
|
11315
|
+
isPhoneSized: function (maxPhoneWidth) {
|
|
11316
|
+
return MobileDetect.isPhoneSized(maxPhoneWidth || this.maxPhoneWidth);
|
|
11317
|
+
},
|
|
11318
|
+
|
|
11319
|
+
/**
|
|
11320
|
+
* Returns the mobile grade ('A', 'B', 'C').
|
|
11321
|
+
*
|
|
11322
|
+
* @returns {String} one of the mobile grades ('A', 'B', 'C').
|
|
11323
|
+
* @function MobileDetect#mobileGrade
|
|
11324
|
+
*/
|
|
11325
|
+
mobileGrade: function () {
|
|
11326
|
+
if (this._cache.grade === undefined) {
|
|
11327
|
+
this._cache.grade = impl.mobileGrade(this);
|
|
11328
|
+
}
|
|
11329
|
+
return this._cache.grade;
|
|
11330
|
+
}
|
|
11331
|
+
};
|
|
11332
|
+
|
|
11333
|
+
// environment-dependent
|
|
11334
|
+
if (typeof window !== 'undefined' && window.screen) {
|
|
11335
|
+
MobileDetect.isPhoneSized = function (maxPhoneWidth) {
|
|
11336
|
+
return maxPhoneWidth < 0 ? undefined : impl.getDeviceSmallerSide() <= maxPhoneWidth;
|
|
11337
|
+
};
|
|
11338
|
+
} else {
|
|
11339
|
+
MobileDetect.isPhoneSized = function () {};
|
|
11340
|
+
}
|
|
11341
|
+
|
|
11342
|
+
// should not be replaced by a completely new object - just overwrite existing methods
|
|
11343
|
+
MobileDetect._impl = impl;
|
|
11344
|
+
|
|
11345
|
+
MobileDetect.version = '1.4.5 2021-03-13';
|
|
11346
|
+
|
|
11347
|
+
return MobileDetect;
|
|
11348
|
+
}); // end of call of define()
|
|
11349
|
+
})((function (undefined) {
|
|
11350
|
+
if ( true && module.exports) {
|
|
11351
|
+
return function (factory) { module.exports = factory(); };
|
|
11352
|
+
} else if (true) {
|
|
11353
|
+
return __webpack_require__.amdD;
|
|
11354
|
+
} else {}
|
|
11355
|
+
})());
|
|
11356
|
+
|
|
11357
|
+
/***/ }),
|
|
11358
|
+
|
|
10347
11359
|
/***/ 3679:
|
|
10348
11360
|
/***/ (function(module) {
|
|
10349
11361
|
|
|
@@ -10674,6 +11686,13 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__7203__;
|
|
|
10674
11686
|
/******/ }
|
|
10675
11687
|
/******/
|
|
10676
11688
|
/************************************************************************/
|
|
11689
|
+
/******/ /* webpack/runtime/amd define */
|
|
11690
|
+
/******/ !function() {
|
|
11691
|
+
/******/ __webpack_require__.amdD = function () {
|
|
11692
|
+
/******/ throw new Error('define cannot be used indirect');
|
|
11693
|
+
/******/ };
|
|
11694
|
+
/******/ }();
|
|
11695
|
+
/******/
|
|
10677
11696
|
/******/ /* webpack/runtime/compat get default export */
|
|
10678
11697
|
/******/ !function() {
|
|
10679
11698
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
@@ -11018,7 +12037,7 @@ var web_url_search_params_size = __webpack_require__(2062);
|
|
|
11018
12037
|
// import {postWeb} from "./http.js";
|
|
11019
12038
|
// import helper from "./helper";
|
|
11020
12039
|
|
|
11021
|
-
|
|
12040
|
+
let MobileDetect = __webpack_require__(2437);
|
|
11022
12041
|
/**
|
|
11023
12042
|
* 字典排序
|
|
11024
12043
|
* @param <Object> dict
|
|
@@ -11829,7 +12848,46 @@ function getVueVersion() {
|
|
|
11829
12848
|
version = Vue.version || 'undefined';
|
|
11830
12849
|
return version;
|
|
11831
12850
|
}
|
|
12851
|
+
function getDeviceEnv() {
|
|
12852
|
+
function isIpad() {
|
|
12853
|
+
var ua = window.navigator.userAgent;
|
|
12854
|
+
var IsIPad = false;
|
|
12855
|
+
if (/ipad/i.test(ua)) {
|
|
12856
|
+
IsIPad = true;
|
|
12857
|
+
}
|
|
12858
|
+
// iPad from IOS13
|
|
12859
|
+
var macApp = ua.match(/Macintosh/i) != null;
|
|
12860
|
+
if (macApp) {
|
|
12861
|
+
// need to distinguish between Macbook and iPad
|
|
12862
|
+
var canvas = document.createElement('canvas');
|
|
12863
|
+
if (canvas != null) {
|
|
12864
|
+
var context = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
|
|
12865
|
+
if (context) {
|
|
12866
|
+
var info = context.getExtension('WEBGL_debug_renderer_info');
|
|
12867
|
+
if (info) {
|
|
12868
|
+
var renderer = context.getParameter(info.UNMASKED_RENDERER_WEBGL);
|
|
12869
|
+
if (renderer.indexOf('Apple') != -1) IsIPad = true;
|
|
12870
|
+
}
|
|
12871
|
+
}
|
|
12872
|
+
}
|
|
12873
|
+
}
|
|
12874
|
+
return IsIPad;
|
|
12875
|
+
}
|
|
12876
|
+
let env = '';
|
|
12877
|
+
let md = new MobileDetect(window.navigator.userAgent); //初始化mobile-detect
|
|
12878
|
+
let os = md.os(); //获取系统
|
|
12879
|
+
if (os) {
|
|
12880
|
+
os = os.toLowerCase();
|
|
12881
|
+
}
|
|
12882
|
+
if (os === 'ios' || os === 'androidos' || isIpad()) {
|
|
12883
|
+
env = 'mobile';
|
|
12884
|
+
} else {
|
|
12885
|
+
env = 'pc';
|
|
12886
|
+
}
|
|
12887
|
+
return env;
|
|
12888
|
+
}
|
|
11832
12889
|
/* harmony default export */ var js_fun = ({
|
|
12890
|
+
getDeviceEnv,
|
|
11833
12891
|
getVueVersion,
|
|
11834
12892
|
getToken,
|
|
11835
12893
|
getQueryVariable,
|
|
@@ -13131,109 +14189,109 @@ let filerRegs = [{
|
|
|
13131
14189
|
const Question_FillBlank_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(Question_FillBlankvue_type_script_lang_js, [['render',Question_FillBlankvue_type_template_id_c4c14c5a_render]])
|
|
13132
14190
|
|
|
13133
14191
|
/* harmony default export */ var Question_FillBlank = (Question_FillBlank_exports_);
|
|
13134
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-86.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/questions/Question_Programming.vue?vue&type=template&id=
|
|
14192
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-86.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/questions/Question_Programming.vue?vue&type=template&id=66006ba2
|
|
13135
14193
|
|
|
13136
|
-
const
|
|
14194
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_1 = {
|
|
13137
14195
|
class: "zykjcommon-question"
|
|
13138
14196
|
};
|
|
13139
|
-
const
|
|
14197
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_2 = {
|
|
13140
14198
|
key: 0,
|
|
13141
14199
|
class: "question-type"
|
|
13142
14200
|
};
|
|
13143
|
-
const
|
|
14201
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_3 = {
|
|
13144
14202
|
key: 0
|
|
13145
14203
|
};
|
|
13146
|
-
const
|
|
14204
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_4 = {
|
|
13147
14205
|
key: 1,
|
|
13148
14206
|
class: "score fr"
|
|
13149
14207
|
};
|
|
13150
|
-
const
|
|
14208
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_5 = {
|
|
13151
14209
|
class: "question-box"
|
|
13152
14210
|
};
|
|
13153
|
-
const
|
|
13154
|
-
const
|
|
14211
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_6 = ["innerHTML"];
|
|
14212
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_7 = {
|
|
13155
14213
|
key: 1,
|
|
13156
14214
|
class: "question-analysis"
|
|
13157
14215
|
};
|
|
13158
|
-
const
|
|
14216
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_8 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
13159
14217
|
class: "triangle-top"
|
|
13160
14218
|
}, null, -1);
|
|
13161
|
-
const
|
|
14219
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_9 = {
|
|
13162
14220
|
class: "question-analysis-item"
|
|
13163
14221
|
};
|
|
13164
|
-
const
|
|
14222
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_10 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("span", {
|
|
13165
14223
|
class: "txt"
|
|
13166
14224
|
}, "【你的答案】:", -1);
|
|
13167
|
-
const
|
|
13168
|
-
const
|
|
14225
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_11 = ["src"];
|
|
14226
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_12 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
13169
14227
|
class: "mask-text-box"
|
|
13170
14228
|
}, [/*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
13171
14229
|
class: "mask"
|
|
13172
14230
|
}), /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
13173
14231
|
class: "mask-text"
|
|
13174
14232
|
}, "去修改")], -1);
|
|
13175
|
-
const
|
|
14233
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_13 = {
|
|
13176
14234
|
key: 2,
|
|
13177
14235
|
class: "question-analysis"
|
|
13178
14236
|
};
|
|
13179
|
-
const
|
|
14237
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_14 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
13180
14238
|
class: "triangle-top"
|
|
13181
14239
|
}, null, -1);
|
|
13182
|
-
const
|
|
14240
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_15 = {
|
|
13183
14241
|
class: "question-analysis-item"
|
|
13184
14242
|
};
|
|
13185
|
-
const
|
|
14243
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_16 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("span", {
|
|
13186
14244
|
class: "txt"
|
|
13187
14245
|
}, "【你的答案】:", -1);
|
|
13188
|
-
const
|
|
13189
|
-
const
|
|
14246
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_17 = ["src"];
|
|
14247
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_18 = {
|
|
13190
14248
|
class: "question-analysis-item"
|
|
13191
14249
|
};
|
|
13192
|
-
const
|
|
14250
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_19 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("span", {
|
|
13193
14251
|
class: "txt"
|
|
13194
14252
|
}, "【正确答案】:", -1);
|
|
13195
|
-
const
|
|
13196
|
-
const
|
|
14253
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_20 = ["src"];
|
|
14254
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_21 = {
|
|
13197
14255
|
key: 0,
|
|
13198
14256
|
class: "question-analysis-item"
|
|
13199
14257
|
};
|
|
13200
|
-
const
|
|
14258
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_22 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("span", {
|
|
13201
14259
|
class: "txt"
|
|
13202
14260
|
}, "【本题解析】:", -1);
|
|
13203
|
-
const
|
|
14261
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_23 = {
|
|
13204
14262
|
class: "txt-box"
|
|
13205
14263
|
};
|
|
13206
|
-
const
|
|
13207
|
-
function
|
|
14264
|
+
const Question_Programmingvue_type_template_id_66006ba2_hoisted_24 = ["innerHTML"];
|
|
14265
|
+
function Question_Programmingvue_type_template_id_66006ba2_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
13208
14266
|
const _component_MediaLooker = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("MediaLooker");
|
|
13209
14267
|
const _component_IframeComponent = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("IframeComponent");
|
|
13210
14268
|
const _component_Loading = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)("Loading");
|
|
13211
|
-
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div",
|
|
14269
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", Question_Programmingvue_type_template_id_66006ba2_hoisted_1, [!$props.isSub ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", Question_Programmingvue_type_template_id_66006ba2_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createTextVNode)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)($props.questionInfo.questionIndex) + "、" + (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)($props.questionInfo.hint ? $props.questionInfo.hint : $props.questionInfo.question_type_str), 1), $props.questionInfo.score !== 'null' ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("span", Question_Programmingvue_type_template_id_66006ba2_hoisted_3)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), $props.mode === 'analysis' ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("span", Question_Programmingvue_type_template_id_66006ba2_hoisted_4, "得分:" + (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)($props.questionInfo.answerMap ? $props.questionInfo.answerMap.user_score : '-') + "分", 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", Question_Programmingvue_type_template_id_66006ba2_hoisted_5, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
13212
14270
|
class: "editor-content",
|
|
13213
14271
|
innerHTML: $props.questionInfo.htmlContent
|
|
13214
|
-
}, null, 8,
|
|
14272
|
+
}, null, 8, Question_Programmingvue_type_template_id_66006ba2_hoisted_6), $props.mode === 'exam' && !$data.oss_temp_url || $props.mode === 'review' ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("button", {
|
|
13215
14273
|
key: 0,
|
|
13216
14274
|
class: "bcdt-btn",
|
|
13217
14275
|
onClick: _cache[0] || (_cache[0] = $event => $options.startCode('1'))
|
|
13218
|
-
}, "进入" + (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)($data.codeTypeMap[$props.questionInfo.code_type]) + "答题", 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), $props.mode === 'exam' && $data.oss_temp_url ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div",
|
|
14276
|
+
}, "进入" + (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)($data.codeTypeMap[$props.questionInfo.code_type]) + "答题", 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), $props.mode === 'exam' && $data.oss_temp_url ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", Question_Programmingvue_type_template_id_66006ba2_hoisted_7, [Question_Programmingvue_type_template_id_66006ba2_hoisted_8, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", Question_Programmingvue_type_template_id_66006ba2_hoisted_9, [Question_Programmingvue_type_template_id_66006ba2_hoisted_10, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
13219
14277
|
class: "img-box",
|
|
13220
14278
|
onClick: _cache[1] || (_cache[1] = $event => $options.startCode('2'))
|
|
13221
14279
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("img", {
|
|
13222
14280
|
src: $data.codeTypeImgMap[$props.questionInfo.code_type]
|
|
13223
|
-
}, null, 8,
|
|
14281
|
+
}, null, 8, Question_Programmingvue_type_template_id_66006ba2_hoisted_11), Question_Programmingvue_type_template_id_66006ba2_hoisted_12])])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), $props.mode === 'analysis' ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", Question_Programmingvue_type_template_id_66006ba2_hoisted_13, [Question_Programmingvue_type_template_id_66006ba2_hoisted_14, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", Question_Programmingvue_type_template_id_66006ba2_hoisted_15, [Question_Programmingvue_type_template_id_66006ba2_hoisted_16, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
13224
14282
|
class: "img-box",
|
|
13225
14283
|
onClick: _cache[2] || (_cache[2] = $event => $options.startCode('3'))
|
|
13226
14284
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("img", {
|
|
13227
14285
|
src: $data.codeTypeImgMap[$props.questionInfo.code_type]
|
|
13228
|
-
}, null, 8,
|
|
14286
|
+
}, null, 8, Question_Programmingvue_type_template_id_66006ba2_hoisted_17)])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", Question_Programmingvue_type_template_id_66006ba2_hoisted_18, [Question_Programmingvue_type_template_id_66006ba2_hoisted_19, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
13229
14287
|
class: "img-box",
|
|
13230
14288
|
onClick: _cache[3] || (_cache[3] = $event => $options.startCode('4'))
|
|
13231
14289
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("img", {
|
|
13232
14290
|
src: $data.codeTypeImgMap[$props.questionInfo.code_type]
|
|
13233
|
-
}, null, 8,
|
|
14291
|
+
}, null, 8, Question_Programmingvue_type_template_id_66006ba2_hoisted_20)])]), $props.questionInfo.analysis ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", Question_Programmingvue_type_template_id_66006ba2_hoisted_21, [Question_Programmingvue_type_template_id_66006ba2_hoisted_22, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", Question_Programmingvue_type_template_id_66006ba2_hoisted_23, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("span", {
|
|
13234
14292
|
class: "analysis-txt",
|
|
13235
14293
|
innerHTML: $props.questionInfo.analysisHtmlContent
|
|
13236
|
-
}, null, 8,
|
|
14294
|
+
}, null, 8, Question_Programmingvue_type_template_id_66006ba2_hoisted_24)])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)]), _ctx.visible ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_MediaLooker, {
|
|
13237
14295
|
key: 1,
|
|
13238
14296
|
visible: _ctx.visible,
|
|
13239
14297
|
"onUpdate:visible": _cache[4] || (_cache[4] = $event => _ctx.visible = $event),
|
|
@@ -13252,7 +14310,7 @@ function Question_Programmingvue_type_template_id_f33b5d50_render(_ctx, _cache,
|
|
|
13252
14310
|
loading: $data.loading
|
|
13253
14311
|
}, null, 8, ["loading"])]);
|
|
13254
14312
|
}
|
|
13255
|
-
;// CONCATENATED MODULE: ./src/components/questions/Question_Programming.vue?vue&type=template&id=
|
|
14313
|
+
;// CONCATENATED MODULE: ./src/components/questions/Question_Programming.vue?vue&type=template&id=66006ba2
|
|
13256
14314
|
|
|
13257
14315
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-86.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/common/IframeComponent.vue?vue&type=template&id=0d05d84e
|
|
13258
14316
|
|
|
@@ -14974,6 +16032,10 @@ var index = {
|
|
|
14974
16032
|
/* harmony default export */ var Question_Programmingvue_type_script_lang_js = ({
|
|
14975
16033
|
name: 'Question_Programming',
|
|
14976
16034
|
props: {
|
|
16035
|
+
isEnterCodeByInit: {
|
|
16036
|
+
type: Boolean,
|
|
16037
|
+
default: false
|
|
16038
|
+
},
|
|
14977
16039
|
urlQuery: {
|
|
14978
16040
|
type: String,
|
|
14979
16041
|
default: ''
|
|
@@ -15010,6 +16072,16 @@ var index = {
|
|
|
15010
16072
|
immediate: true
|
|
15011
16073
|
});
|
|
15012
16074
|
},
|
|
16075
|
+
created() {
|
|
16076
|
+
//设置了后无需点击按钮直接进入编辑器
|
|
16077
|
+
if (this.isEnterCodeByInit) {
|
|
16078
|
+
if (this.oss_temp_url) {
|
|
16079
|
+
this.startCode('2');
|
|
16080
|
+
} else {
|
|
16081
|
+
this.startCode('1');
|
|
16082
|
+
}
|
|
16083
|
+
}
|
|
16084
|
+
},
|
|
15013
16085
|
data() {
|
|
15014
16086
|
return {
|
|
15015
16087
|
iframe: null,
|
|
@@ -15152,8 +16224,10 @@ var index = {
|
|
|
15152
16224
|
//关闭iframe并且保存(考试中)
|
|
15153
16225
|
closeAndSave(res) {
|
|
15154
16226
|
this.saveCodeOnly(res);
|
|
15155
|
-
this.
|
|
15156
|
-
|
|
16227
|
+
if (!this.isEnterCodeByInit) {
|
|
16228
|
+
this.closeIframe();
|
|
16229
|
+
}
|
|
16230
|
+
this.$emit('closeAndSave', res);
|
|
15157
16231
|
},
|
|
15158
16232
|
saveCodeOnly(res) {
|
|
15159
16233
|
let self = this;
|
|
@@ -15170,7 +16244,7 @@ var index = {
|
|
|
15170
16244
|
questionIndex: self.questionInfo.questionIndex - 1,
|
|
15171
16245
|
answered
|
|
15172
16246
|
});
|
|
15173
|
-
this.$emit('saveCodeOnly');
|
|
16247
|
+
this.$emit('saveCodeOnly', res);
|
|
15174
16248
|
},
|
|
15175
16249
|
uploadCodingFileSuccess(res) {
|
|
15176
16250
|
this.code_file_oss_temp_path = res.codeFileOssTempPath;
|
|
@@ -15193,9 +16267,382 @@ var index = {
|
|
|
15193
16267
|
|
|
15194
16268
|
|
|
15195
16269
|
;
|
|
15196
|
-
const Question_Programming_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(Question_Programmingvue_type_script_lang_js, [['render',
|
|
16270
|
+
const Question_Programming_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(Question_Programmingvue_type_script_lang_js, [['render',Question_Programmingvue_type_template_id_66006ba2_render]])
|
|
15197
16271
|
|
|
15198
16272
|
/* harmony default export */ var Question_Programming = (Question_Programming_exports_);
|
|
16273
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-86.use[1]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/questions/Question_Classify.vue?vue&type=template&id=08b2b52d
|
|
16274
|
+
|
|
16275
|
+
const Question_Classifyvue_type_template_id_08b2b52d_hoisted_1 = {
|
|
16276
|
+
class: "zykjcommon-question",
|
|
16277
|
+
style: {
|
|
16278
|
+
"width": "100%",
|
|
16279
|
+
"height": "100%"
|
|
16280
|
+
}
|
|
16281
|
+
};
|
|
16282
|
+
const Question_Classifyvue_type_template_id_08b2b52d_hoisted_2 = {
|
|
16283
|
+
class: "question-classify"
|
|
16284
|
+
};
|
|
16285
|
+
const Question_Classifyvue_type_template_id_08b2b52d_hoisted_3 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createStaticVNode)("<div class=\"box\"><div class=\"box-item\"><div class=\"main-block\"></div><div class=\"main-content\"><div class=\"main-append\"></div></div></div><div class=\"box-item\"><div class=\"main-block\"></div><div class=\"main-content\"><div class=\"main-append\"></div></div></div></div>", 1);
|
|
16286
|
+
const Question_Classifyvue_type_template_id_08b2b52d_hoisted_4 = {
|
|
16287
|
+
class: "list-outter"
|
|
16288
|
+
};
|
|
16289
|
+
const Question_Classifyvue_type_template_id_08b2b52d_hoisted_5 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
16290
|
+
class: "prev"
|
|
16291
|
+
}, [/*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
16292
|
+
class: "prev-main"
|
|
16293
|
+
})], -1);
|
|
16294
|
+
const Question_Classifyvue_type_template_id_08b2b52d_hoisted_6 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
16295
|
+
class: "next"
|
|
16296
|
+
}, [/*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
|
|
16297
|
+
class: "next-main"
|
|
16298
|
+
})], -1);
|
|
16299
|
+
const Question_Classifyvue_type_template_id_08b2b52d_hoisted_7 = {
|
|
16300
|
+
class: "list"
|
|
16301
|
+
};
|
|
16302
|
+
const Question_Classifyvue_type_template_id_08b2b52d_hoisted_8 = {
|
|
16303
|
+
class: "list-item-text"
|
|
16304
|
+
};
|
|
16305
|
+
function Question_Classifyvue_type_template_id_08b2b52d_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
16306
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", Question_Classifyvue_type_template_id_08b2b52d_hoisted_1, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", Question_Classifyvue_type_template_id_08b2b52d_hoisted_2, [Question_Classifyvue_type_template_id_08b2b52d_hoisted_3, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", Question_Classifyvue_type_template_id_08b2b52d_hoisted_4, [Question_Classifyvue_type_template_id_08b2b52d_hoisted_5, Question_Classifyvue_type_template_id_08b2b52d_hoisted_6, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", Question_Classifyvue_type_template_id_08b2b52d_hoisted_7, [((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)($data.list, (item, index) => {
|
|
16307
|
+
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
|
|
16308
|
+
class: "list-item",
|
|
16309
|
+
key: index
|
|
16310
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", Question_Classifyvue_type_template_id_08b2b52d_hoisted_8, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(item.name), 1)]);
|
|
16311
|
+
}), 128))])])])]);
|
|
16312
|
+
}
|
|
16313
|
+
;// CONCATENATED MODULE: ./src/components/questions/Question_Classify.vue?vue&type=template&id=08b2b52d
|
|
16314
|
+
|
|
16315
|
+
;// CONCATENATED MODULE: ./src/assets/js/rem.js
|
|
16316
|
+
/**
|
|
16317
|
+
* Created by Allen Liu on 2022/3/31.
|
|
16318
|
+
*/
|
|
16319
|
+
|
|
16320
|
+
let setRem = function () {
|
|
16321
|
+
//动态设置html的font-size ----start
|
|
16322
|
+
let designWidth = 1440;
|
|
16323
|
+
let baseNum = 100;
|
|
16324
|
+
function setRootFontSize() {
|
|
16325
|
+
let winWidth = document.documentElement.clientWidth || document.body.clientWidth;
|
|
16326
|
+
let winHeight = document.documentElement.clientHeight || document.body.clientHeight;
|
|
16327
|
+
let html = document.getElementsByTagName('html')[0];
|
|
16328
|
+
/*if(winWidth>=1000){
|
|
16329
|
+
winWidth = 1000
|
|
16330
|
+
}*/
|
|
16331
|
+
let frameBili = 4 / 3;
|
|
16332
|
+
let b = frameBili / (winWidth / winHeight);
|
|
16333
|
+
// let realW = parseInt(winWidth * b)
|
|
16334
|
+
let realW = winWidth - 50;
|
|
16335
|
+
// console.log(realW,3333333333333);
|
|
16336
|
+
|
|
16337
|
+
html.style.fontSize = realW / designWidth * baseNum + 'px';
|
|
16338
|
+
// console.log(html.style.fontSize);
|
|
16339
|
+
}
|
|
16340
|
+
|
|
16341
|
+
setRootFontSize();
|
|
16342
|
+
window.addEventListener('resize', e => {
|
|
16343
|
+
setRootFontSize();
|
|
16344
|
+
});
|
|
16345
|
+
//动态设置html的font-size ----end
|
|
16346
|
+
};
|
|
16347
|
+
|
|
16348
|
+
let setRemFixedHeight = function (designWidth = 1440, repairH = 0, scale = 1) {
|
|
16349
|
+
let baseNum = 100;
|
|
16350
|
+
let winWidth = document.documentElement.clientWidth || document.body.clientWidth;
|
|
16351
|
+
let winHeight = document.documentElement.clientHeight || document.body.clientHeight;
|
|
16352
|
+
winHeight = winHeight - repairH;
|
|
16353
|
+
let html = document.getElementsByTagName('html')[0];
|
|
16354
|
+
let frameBili = 4 / 3;
|
|
16355
|
+
let b = frameBili / (winWidth / winHeight);
|
|
16356
|
+
let realW = parseInt(winWidth * b);
|
|
16357
|
+
html.style.fontSize = realW / designWidth * baseNum * scale + 'px';
|
|
16358
|
+
console.log(html.style.fontSize);
|
|
16359
|
+
};
|
|
16360
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-86.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/questions/Question_Classify.vue?vue&type=script&lang=js
|
|
16361
|
+
|
|
16362
|
+
|
|
16363
|
+
|
|
16364
|
+
let env = js_fun.getDeviceEnv();
|
|
16365
|
+
/* harmony default export */ var Question_Classifyvue_type_script_lang_js = ({
|
|
16366
|
+
name: 'Question_Classify',
|
|
16367
|
+
props: {
|
|
16368
|
+
questionInfo: {
|
|
16369
|
+
type: Object,
|
|
16370
|
+
default: {}
|
|
16371
|
+
},
|
|
16372
|
+
bus: {
|
|
16373
|
+
type: Object,
|
|
16374
|
+
default: {}
|
|
16375
|
+
},
|
|
16376
|
+
mode: {
|
|
16377
|
+
type: String,
|
|
16378
|
+
default: 'exam'
|
|
16379
|
+
}
|
|
16380
|
+
},
|
|
16381
|
+
created() {
|
|
16382
|
+
this.setRootFontSize();
|
|
16383
|
+
window.addEventListener('resize', this.setRootFontSize);
|
|
16384
|
+
},
|
|
16385
|
+
unmounted() {
|
|
16386
|
+
this.unmountedDo();
|
|
16387
|
+
},
|
|
16388
|
+
destroyed() {
|
|
16389
|
+
this.unmountedDo();
|
|
16390
|
+
},
|
|
16391
|
+
mounted() {
|
|
16392
|
+
this.init();
|
|
16393
|
+
this.$watch('list', nv => {
|
|
16394
|
+
if (nv && nv.length) {
|
|
16395
|
+
this.$nextTick(() => {
|
|
16396
|
+
this.dothings();
|
|
16397
|
+
});
|
|
16398
|
+
}
|
|
16399
|
+
});
|
|
16400
|
+
setTimeout(() => {
|
|
16401
|
+
this.list = [{
|
|
16402
|
+
name: '每年春夏秋冬季节变化'
|
|
16403
|
+
}, {
|
|
16404
|
+
name: '音乐播放10次'
|
|
16405
|
+
}, {
|
|
16406
|
+
name: '把10个梨子放进篮子'
|
|
16407
|
+
}, {
|
|
16408
|
+
name: '音乐播放9次'
|
|
16409
|
+
}, {
|
|
16410
|
+
name: '把9个梨子放进篮子'
|
|
16411
|
+
}, {
|
|
16412
|
+
name: '音乐播放8次'
|
|
16413
|
+
}, {
|
|
16414
|
+
name: '把8个梨子放进篮子'
|
|
16415
|
+
}, {
|
|
16416
|
+
name: '音乐播放6次'
|
|
16417
|
+
}];
|
|
16418
|
+
}, 500);
|
|
16419
|
+
},
|
|
16420
|
+
data() {
|
|
16421
|
+
return {
|
|
16422
|
+
analyCorrectAnswer: '',
|
|
16423
|
+
exam_options_data: [],
|
|
16424
|
+
answerMap: {},
|
|
16425
|
+
list: [],
|
|
16426
|
+
env,
|
|
16427
|
+
p1: {},
|
|
16428
|
+
//存mousedown相关
|
|
16429
|
+
p2: {},
|
|
16430
|
+
//存mousemove相关
|
|
16431
|
+
listItem: null,
|
|
16432
|
+
moveDiv: null,
|
|
16433
|
+
timer: null,
|
|
16434
|
+
mousedown: env === 'mobile' ? 'touchstart' : 'mousedown',
|
|
16435
|
+
mousemove: env === 'mobile' ? 'touchmove' : 'mousemove',
|
|
16436
|
+
mouseup: env === 'mobile' ? 'touchend' : 'mouseup',
|
|
16437
|
+
dragWay: '',
|
|
16438
|
+
flag: false,
|
|
16439
|
+
scrollDistance: 3000 //设置一个死的滚动距离,保证能滚到底,目前够用
|
|
16440
|
+
};
|
|
16441
|
+
},
|
|
16442
|
+
|
|
16443
|
+
watch: {},
|
|
16444
|
+
computed: {},
|
|
16445
|
+
methods: {
|
|
16446
|
+
setRootFontSize() {
|
|
16447
|
+
setRemFixedHeight(1000, 140, 1.08);
|
|
16448
|
+
},
|
|
16449
|
+
unmountedDo() {
|
|
16450
|
+
window.removeEventListener('resize', this.setRootFontSize);
|
|
16451
|
+
document.removeEventListener('gesturestart', this.gesturestartListener);
|
|
16452
|
+
$('.question-classify .append-item').off(this.mousedown);
|
|
16453
|
+
$('.question-classify .list-item').off(this.mousedown);
|
|
16454
|
+
$(document).off(this.mouseup);
|
|
16455
|
+
let html = document.getElementsByTagName("html")[0];
|
|
16456
|
+
html.style.fontSize = "";
|
|
16457
|
+
},
|
|
16458
|
+
gesturestartListener(event) {
|
|
16459
|
+
event.preventDefault();
|
|
16460
|
+
},
|
|
16461
|
+
init() {
|
|
16462
|
+
//禁止ios10以上缩放页面
|
|
16463
|
+
if (env === 'mobile') {
|
|
16464
|
+
document.addEventListener('gesturestart', this.gesturestartListener);
|
|
16465
|
+
}
|
|
16466
|
+
},
|
|
16467
|
+
getSpecArr() {
|
|
16468
|
+
let self = this;
|
|
16469
|
+
let specArr = [];
|
|
16470
|
+
let moveDivLeft = self.moveDiv.offset().left;
|
|
16471
|
+
let moveDivLeftEnd = moveDivLeft + self.moveDiv.width();
|
|
16472
|
+
let moveDivTop = self.moveDiv.offset().top;
|
|
16473
|
+
let moveDivTopEnd = moveDivTop + self.moveDiv.height();
|
|
16474
|
+
$('.box-item').each((index, item) => {
|
|
16475
|
+
let boxItem = $(item);
|
|
16476
|
+
let boxLeft = boxItem.offset().left;
|
|
16477
|
+
let boxLeftEnd = boxLeft + boxItem.width();
|
|
16478
|
+
let boxTop = boxItem.offset().top;
|
|
16479
|
+
let boxTopEnd = boxTop + boxItem.height();
|
|
16480
|
+
if (moveDivLeft > boxLeft && moveDivLeftEnd < boxLeftEnd && moveDivTop > boxTop && moveDivTopEnd < boxTopEnd) {
|
|
16481
|
+
specArr.push({
|
|
16482
|
+
dom: boxItem
|
|
16483
|
+
});
|
|
16484
|
+
}
|
|
16485
|
+
});
|
|
16486
|
+
return specArr;
|
|
16487
|
+
},
|
|
16488
|
+
bindDragDomEvent(appendItem, way) {
|
|
16489
|
+
let self = this;
|
|
16490
|
+
appendItem.on(this.mousedown, function (e) {
|
|
16491
|
+
if (self.moveDiv) {
|
|
16492
|
+
return;
|
|
16493
|
+
}
|
|
16494
|
+
self.flag = false;
|
|
16495
|
+
self.dragWay = way;
|
|
16496
|
+
console.log(e);
|
|
16497
|
+
e.stopPropagation();
|
|
16498
|
+
e.preventDefault();
|
|
16499
|
+
self.listItem = $(this);
|
|
16500
|
+
self.listItem.addClass('drag');
|
|
16501
|
+
self.p1.moveX = self.listItem.offset().left;
|
|
16502
|
+
self.p1.moveY = self.listItem.offset().top - 30;
|
|
16503
|
+
console.log(this.p1);
|
|
16504
|
+
self.moveDiv = $(`<div class="question-classify-moveDiv"><div class="list-item-text">${self.listItem.find('.list-item-text').text()}</div></div>`);
|
|
16505
|
+
self.moveDiv.css({
|
|
16506
|
+
left: `${self.p1.moveX}px`,
|
|
16507
|
+
top: `${self.p1.moveY}px`
|
|
16508
|
+
});
|
|
16509
|
+
$('body').append(self.moveDiv);
|
|
16510
|
+
$(document).on(self.mousemove, function (e2) {
|
|
16511
|
+
// e2.preventDefault()
|
|
16512
|
+
e2.stopPropagation();
|
|
16513
|
+
self.p2.moveX = e2.clientX || e2.originalEvent.touches && e2.originalEvent.touches[0].clientX;
|
|
16514
|
+
self.p2.moveY = e2.clientY || e2.originalEvent.touches && e2.originalEvent.touches[0].clientY;
|
|
16515
|
+
let curX = self.p2.moveX - self.moveDiv.width() / 2;
|
|
16516
|
+
let curY = self.p2.moveY - self.moveDiv.height() / 2;
|
|
16517
|
+
self.moveDiv.css({
|
|
16518
|
+
left: curX + 'px',
|
|
16519
|
+
top: curY + 'px'
|
|
16520
|
+
});
|
|
16521
|
+
});
|
|
16522
|
+
});
|
|
16523
|
+
},
|
|
16524
|
+
appendMoveDiv(options) {
|
|
16525
|
+
let self = this;
|
|
16526
|
+
self.listItem.remove();
|
|
16527
|
+
let appendItem = $(`<div class="${options.appendItemClassName}"><div class="list-item-text">${self.moveDiv.find('.list-item-text').text()}</div></div>`);
|
|
16528
|
+
appendItem.css({
|
|
16529
|
+
opacity: 0
|
|
16530
|
+
});
|
|
16531
|
+
options.targetList.append(appendItem);
|
|
16532
|
+
options.targetList[options.scrollDirection](self.scrollDistance);
|
|
16533
|
+
let appendLeft = appendItem.offset().left;
|
|
16534
|
+
let appendTop = appendItem.offset().top;
|
|
16535
|
+
//transitionend事件会执行2次,所以使用标记避免
|
|
16536
|
+
self.moveDiv.css({
|
|
16537
|
+
transition: 'all 0.5s',
|
|
16538
|
+
left: appendLeft,
|
|
16539
|
+
top: appendTop
|
|
16540
|
+
}).on('transitionend', function () {
|
|
16541
|
+
if (!self.flag) {
|
|
16542
|
+
self.moveDiv.remove();
|
|
16543
|
+
self.moveDiv.off('transitionend');
|
|
16544
|
+
self.moveDiv = null;
|
|
16545
|
+
appendItem.css({
|
|
16546
|
+
opacity: 1
|
|
16547
|
+
});
|
|
16548
|
+
self.bindDragDomEvent(appendItem, options.op);
|
|
16549
|
+
}
|
|
16550
|
+
self.flag = true;
|
|
16551
|
+
});
|
|
16552
|
+
},
|
|
16553
|
+
bindNextPrevEvent(type) {
|
|
16554
|
+
$(`.question-classify .${type}`).on('click', function (e) {
|
|
16555
|
+
e.stopPropagation();
|
|
16556
|
+
e.preventDefault();
|
|
16557
|
+
let listItem = $('.question-classify .list-item');
|
|
16558
|
+
let list = $('.question-classify .list');
|
|
16559
|
+
let w = listItem.outerWidth() * (type === 'next' ? 1 : -1);
|
|
16560
|
+
let scrollLeft = list.scrollLeft();
|
|
16561
|
+
console.log(scrollLeft);
|
|
16562
|
+
$('.question-classify .list').stop(true).animate({
|
|
16563
|
+
scrollLeft: scrollLeft + w
|
|
16564
|
+
}, 500);
|
|
16565
|
+
});
|
|
16566
|
+
},
|
|
16567
|
+
dothings() {
|
|
16568
|
+
let self = this;
|
|
16569
|
+
self.bindDragDomEvent($('.question-classify .list-item'), 'go');
|
|
16570
|
+
$(document).on(self.mouseup, function (e) {
|
|
16571
|
+
// e.preventDefault()
|
|
16572
|
+
if (self.dragWay === 'go') {
|
|
16573
|
+
$(document).off(self.mousemove);
|
|
16574
|
+
self.listItem && self.listItem.removeClass('drag');
|
|
16575
|
+
if (self.moveDiv) {
|
|
16576
|
+
let specArr = self.getSpecArr();
|
|
16577
|
+
if (specArr.length === 0) {
|
|
16578
|
+
//没进框内,回到原位
|
|
16579
|
+
if (self.moveDiv) {
|
|
16580
|
+
self.moveDiv.remove();
|
|
16581
|
+
self.moveDiv = null;
|
|
16582
|
+
}
|
|
16583
|
+
} else {
|
|
16584
|
+
let appendItemBox = specArr[0].dom;
|
|
16585
|
+
self.appendMoveDiv({
|
|
16586
|
+
targetList: appendItemBox.find('.main-append'),
|
|
16587
|
+
appendItemClassName: 'append-item',
|
|
16588
|
+
op: 'back',
|
|
16589
|
+
scrollDirection: 'scrollTop'
|
|
16590
|
+
});
|
|
16591
|
+
}
|
|
16592
|
+
}
|
|
16593
|
+
} else if (self.dragWay === 'back') {
|
|
16594
|
+
$(document).off(self.mousemove);
|
|
16595
|
+
self.listItem && self.listItem.removeClass('drag');
|
|
16596
|
+
if (self.moveDiv) {
|
|
16597
|
+
let specArr = self.getSpecArr();
|
|
16598
|
+
//0说明都不在两个框内 1说明在其中一个框内
|
|
16599
|
+
if (specArr.length === 0) {
|
|
16600
|
+
self.appendMoveDiv({
|
|
16601
|
+
targetList: $('.question-classify .list'),
|
|
16602
|
+
appendItemClassName: 'list-item',
|
|
16603
|
+
op: 'go',
|
|
16604
|
+
scrollDirection: 'scrollLeft'
|
|
16605
|
+
});
|
|
16606
|
+
} else {
|
|
16607
|
+
let appendItemBox = specArr[0].dom;
|
|
16608
|
+
let curAppendItemBox = self.listItem.parents('.question-classify .box-item');
|
|
16609
|
+
if (appendItemBox.get(0) === curAppendItemBox.get(0)) {
|
|
16610
|
+
console.log('自己');
|
|
16611
|
+
self.moveDiv.remove();
|
|
16612
|
+
self.moveDiv = null;
|
|
16613
|
+
self.listItem && self.listItem.removeClass('drag');
|
|
16614
|
+
} else {
|
|
16615
|
+
console.log('不是自己');
|
|
16616
|
+
self.appendMoveDiv({
|
|
16617
|
+
targetList: appendItemBox.find('.main-append'),
|
|
16618
|
+
appendItemClassName: 'append-item',
|
|
16619
|
+
op: 'back',
|
|
16620
|
+
scrollDirection: 'scrollTop'
|
|
16621
|
+
});
|
|
16622
|
+
console.log('不是自己');
|
|
16623
|
+
}
|
|
16624
|
+
}
|
|
16625
|
+
console.log(specArr.length);
|
|
16626
|
+
}
|
|
16627
|
+
}
|
|
16628
|
+
});
|
|
16629
|
+
self.bindNextPrevEvent('next');
|
|
16630
|
+
self.bindNextPrevEvent('prev');
|
|
16631
|
+
}
|
|
16632
|
+
},
|
|
16633
|
+
components: {}
|
|
16634
|
+
});
|
|
16635
|
+
;// CONCATENATED MODULE: ./src/components/questions/Question_Classify.vue?vue&type=script&lang=js
|
|
16636
|
+
|
|
16637
|
+
;// CONCATENATED MODULE: ./src/components/questions/Question_Classify.vue
|
|
16638
|
+
|
|
16639
|
+
|
|
16640
|
+
|
|
16641
|
+
|
|
16642
|
+
;
|
|
16643
|
+
const Question_Classify_exports_ = /*#__PURE__*/(0,exportHelper/* default */.Z)(Question_Classifyvue_type_script_lang_js, [['render',Question_Classifyvue_type_template_id_08b2b52d_render]])
|
|
16644
|
+
|
|
16645
|
+
/* harmony default export */ var Question_Classify = (Question_Classify_exports_);
|
|
15199
16646
|
;// CONCATENATED MODULE: ./src/components/questions/const.js
|
|
15200
16647
|
/**
|
|
15201
16648
|
* Created by Allen Liu on 2022/4/22.
|
|
@@ -15214,7 +16661,9 @@ let questionMapper = {
|
|
|
15214
16661
|
//编程
|
|
15215
16662
|
'11': 'Question_Reading',
|
|
15216
16663
|
//阅读
|
|
15217
|
-
'4': 'Question_FillBlank'
|
|
16664
|
+
'4': 'Question_FillBlank',
|
|
16665
|
+
//填空
|
|
16666
|
+
'17': 'Question_Classify' //分类
|
|
15218
16667
|
};
|
|
15219
16668
|
// EXTERNAL MODULE: ./node_modules/crypto-js/index.js
|
|
15220
16669
|
var crypto_js = __webpack_require__(1354);
|
|
@@ -15493,6 +16942,7 @@ const state = {
|
|
|
15493
16942
|
|
|
15494
16943
|
|
|
15495
16944
|
|
|
16945
|
+
|
|
15496
16946
|
/* harmony default export */ function buildEntry(store) {
|
|
15497
16947
|
//动态注册store
|
|
15498
16948
|
store.registerModule('zykjcommonQuestions', questions_store);
|
|
@@ -15605,13 +17055,15 @@ const state = {
|
|
|
15605
17055
|
Vue.component('Question_BriefAnswer', Question_BriefAnswer);
|
|
15606
17056
|
Vue.component('Question_FillBlank', Question_FillBlank);
|
|
15607
17057
|
Vue.component('Question_Programming', Question_Programming);
|
|
17058
|
+
Vue.component('Question_Classify', Question_Classify);
|
|
15608
17059
|
},
|
|
15609
17060
|
Question_SingleChoice: Question_SingleChoice,
|
|
15610
17061
|
Question_MultipleChoice: Question_MultipleChoice,
|
|
15611
17062
|
Question_Reading: Question_Reading,
|
|
15612
17063
|
Question_BriefAnswer: Question_BriefAnswer,
|
|
15613
17064
|
Question_FillBlank: Question_FillBlank,
|
|
15614
|
-
Question_Programming: Question_Programming
|
|
17065
|
+
Question_Programming: Question_Programming,
|
|
17066
|
+
Question_Classify: Question_Classify
|
|
15615
17067
|
};
|
|
15616
17068
|
}
|
|
15617
17069
|
;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
|