1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356 |
- layui.define(function (exports) {
- var Player = function (e) {
- var t = {};
- function n(r) {
- if (t[r]) return t[r].exports;
- var a = t[r] = {i: r, l: !1, exports: {}};
- return e[r].call(a.exports, a, a.exports, n), a.l = !0, a.exports
- }
- return n.m = e, n.c = t, n.d = function (e, t, r) {
- n.o(e, t) || Object.defineProperty(e, t, {enumerable: !0, get: r})
- }, n.r = function (e) {
- "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "__esModule", {value: !0})
- }, n.t = function (e, t) {
- if (1 & t && (e = n(e)), 8 & t) return e;
- if (4 & t && "object" == typeof e && e && e.__esModule) return e;
- var r = Object.create(null);
- if (n.r(r), Object.defineProperty(r, "default", {
- enumerable: !0,
- value: e
- }), 2 & t && "string" != typeof e) for (var a in e) n.d(r, a, function (t) {
- return e[t]
- }.bind(null, a));
- return r
- }, n.n = function (e) {
- var t = e && e.__esModule ? function () {
- return e.default
- } : function () {
- return e
- };
- return n.d(t, "a", t), t
- }, n.o = function (e, t) {
- return Object.prototype.hasOwnProperty.call(e, t)
- }, n.p = "", n(n.s = 7)
- }([function (e, t, n) {
- "use strict";
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = function () {
- function e(e, t) {
- for (var n = 0; n < t.length; n++) {
- var r = t[n];
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
- }
- }
- return function (t, n, r) {
- return n && e(t.prototype, n), r && e(t, r), t
- }
- }(), a = f(n(9)), i = f(n(2)), o = f(n(26)), l = f(n(5)), s = f(n(3)), u = f(n(27)), c = n(32), p = f(n(33)),
- d = n(4);
- function f(e) {
- return e && e.__esModule ? e : {default: e}
- }
- function g(e, t) {
- if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- return !t || "object" != typeof t && "function" != typeof t ? e : t
- }
- var h = function (e) {
- function t(e) {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, t);
- var n = g(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));
- if (n.config = i.default.deepCopy({
- width: 600,
- height: 337.5,
- ignores: [],
- whitelist: [],
- lang: (document.documentElement.getAttribute("lang") || navigator.language || "zh-cn").toLocaleLowerCase(),
- inactive: 3e3,
- volume: .6,
- controls: !0,
- controlsList: ["nodownload"]
- }, e), n.version = d.version, n.userTimer = null, n.waitTimer = null, n.database = new o.default, n.history = [], n.isProgressMoving = !1, n.root = i.default.findDom(document, "#" + n.config.id), n.controls = i.default.createDom("xg-controls", "", {
- unselectable: "on",
- onselectstart: "return false"
- }, "xgplayer-controls"), !n.root) {
- var r = n.config.el;
- if (!r || 1 !== r.nodeType) return n.emit("error", new s.default("use", n.config.vid, {
- line: 32,
- handle: "Constructor",
- msg: "container id can't be empty"
- })), !1, g(n, !1);
- n.root = r
- }
- if (i.default.addClass(n.root, "xgplayer xgplayer-" + l.default.device + " xgplayer-nostart " + (n.config.controls ? "" : "no-controls")), n.root.appendChild(n.controls), n.config.fluid ? (n.root.style["max-width"] = "100%", n.root.style.width = "100%", n.root.style.height = "0", n.root.style["padding-top"] = 100 * n.config.height / n.config.width + "%", n.video.style.position = "absolute", n.video.style.top = "0", n.video.style.left = "0") : (n.config.width && ("number" != typeof n.config.width ? n.root.style.width = n.config.width : n.root.style.width = n.config.width + "px"), n.config.height && ("number" != typeof n.config.height ? n.root.style.height = n.config.height : n.root.style.height = n.config.height + "px")), n.config.execBeforePluginsCall && n.config.execBeforePluginsCall.forEach(function (e) {
- e.call(n, n)
- }), n.config.controlStyle && "String" === i.default.typeOf(n.config.controlStyle)) {
- var a = n;
- fetch(a.config.controlStyle, {
- method: "GET",
- headers: {Accept: "application/json"}
- }).then(function (e) {
- e.ok && e.json().then(function (e) {
- for (var t in e) e.hasOwnProperty(t) && (a.config[t] = e[t]);
- a.pluginsCall()
- })
- }).catch(function (e) {
- console.log("Fetch错误:" + e)
- })
- } else n.pluginsCall();
- n.ev.forEach(function (e) {
- var t = Object.keys(e)[0], r = n[e[t]];
- r && n.on(t, r)
- }), ["focus", "blur"].forEach(function (e) {
- n.on(e, n["on" + e.charAt(0).toUpperCase() + e.slice(1)])
- });
- var u = n;
- return n.mousemoveFunc = function () {
- u.emit("focus"), u.config.closeFocusVideoFocus || u.video.focus()
- }, n.root.addEventListener("mousemove", n.mousemoveFunc), n.playFunc = function () {
- u.emit("focus"), u.config.closePlayVideoFocus || u.video.focus()
- }, u.once("play", n.playFunc), setTimeout(function () {
- n.emit("ready")
- }, 0), n.config.keyShortcut && "on" !== n.config.keyShortcut || ["video", "controls"].forEach(function (e) {
- u[e].addEventListener("keydown", function (e) {
- u.onKeydown(e, u)
- })
- }), n.config.videoInit && i.default.hasClass(n.root, "xgplayer-nostart") && n.start(), u.config.rotate && (u.on("requestFullscreen", n.updateRotateDeg), u.on("exitFullscreen", n.updateRotateDeg)), u.once("destroy", function e() {
- u.root.removeEventListener("mousemove", u.mousemoveFunc), u.off("destroy", e)
- }), n
- }
- return function (e, t) {
- if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
- e.prototype = Object.create(t && t.prototype, {
- constructor: {
- value: e,
- enumerable: !1,
- writable: !0,
- configurable: !0
- }
- }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
- }(t, a.default), r(t, [{
- key: "start", value: function () {
- var e = this, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.config.url,
- r = this.root, a = this;
- n && "" !== n || this.emit("urlNull"), this.logParams.playSrc = n, this.canPlayFunc = function () {
- var e = a.video.play();
- void 0 !== e && e && e.then(function () {
- a.emit("autoplay started")
- }).catch(function () {
- a.emit("autoplay was prevented"), t.util.addClass(a.root, "xgplayer-is-autoplay")
- }), a.off("canplay", a.canPlayFunc)
- }, "String" === i.default.typeOf(n) ? this.video.src = n : n.forEach(function (t) {
- e.video.appendChild(i.default.createDom("source", "", {
- src: "" + t.src,
- type: "" + (t.type || "")
- }))
- }), this.logParams.pt = (new Date).getTime(), this.logParams.vt = this.logParams.pt, this.loadeddataFunc = function () {
- a.logParams.vt = (new Date).getTime(), a.logParams.pt > a.logParams.vt && (a.logParams.pt = a.logParams.vt), a.logParams.vd = a.video.duration
- }, this.once("loadeddata", this.loadeddataFunc), this.config.autoplay && this.on("canplay", this.canPlayFunc), r.insertBefore(this.video, r.firstChild), setTimeout(function () {
- e.emit("complete")
- }, 1)
- }
- }, {
- key: "reload", value: function () {
- this.video.load(), this.reloadFunc = function () {
- this.play()
- }, this.once("loadeddata", this.reloadFunc)
- }
- }, {
- key: "destroy", value: function () {
- var e = this, n = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0], r = this;
- this.root.parentNode;
- for (var a in clearInterval(this.bulletResizeTimer), this._interval) clearInterval(this._interval[a]), this._interval[a] = null;
- function i() {
- for (var e in this.emit("destroy"), this.video.removeAttribute("src"), this.video.load(), n && (this.root.innerHTML = "", this.root.className = ""), this) delete this[e];
- this.off("pause", i)
- }
- this.ev.forEach(function (t) {
- var n = Object.keys(t)[0], r = e[t[n]];
- r && e.off(n, r)
- }), this.loadeddataFunc && this.off("loadeddata", this.loadeddataFunc), this.reloadFunc && this.off("loadeddata", this.reloadFunc), this.replayFunc && this.off("play", this.replayFunc), this.playFunc && this.off("play", this.playFunc), ["focus", "blur"].forEach(function (t) {
- e.off(t, e["on" + t.charAt(0).toUpperCase() + t.slice(1)])
- }), this.config.keyShortcut && "on" !== this.config.keyShortcut || ["video", "controls"].forEach(function (t) {
- e[t] && e[t].removeEventListener("keydown", function (e) {
- r.onKeydown(e, r)
- })
- }), this.paused ? i.call(this) : (this.pause(), this.once("pause", i)), function e(t, n, r) {
- null === t && (t = Function.prototype);
- var a = Object.getOwnPropertyDescriptor(t, n);
- if (void 0 === a) {
- var i = Object.getPrototypeOf(t);
- return null === i ? void 0 : e(i, n, r)
- }
- if ("value" in a) return a.value;
- var o = a.get;
- return void 0 !== o ? o.call(r) : void 0
- }(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), "destroy", this).call(this)
- }
- }, {
- key: "replay", value: function () {
- var e = this, t = this._replay;
- i.default.removeClass(this.root, "xgplayer-ended"), this.logParams = {
- bc: 0,
- bu_acu_t: 0,
- played: [],
- pt: (new Date).getTime(),
- vt: (new Date).getTime(),
- vd: 0
- }, this.logParams.pt = (new Date).getTime(), this.logParams.vt = this.logParams.pt, this.replayFunc = function () {
- e.logParams.vt = (new Date).getTime(), e.logParams.pt > e.logParams.vt && (e.logParams.pt = e.logParams.vt), e.logParams.vd = e.video.duration
- }, this.once("play", this.replayFunc), this.logParams.playSrc = this.video.currentSrc, t && t instanceof Function ? t() : (this.currentTime = 0, this.play())
- }
- }, {
- key: "getFullscreen", value: function (e) {
- e.requestFullscreen ? e.requestFullscreen() : e.mozRequestFullScreen ? e.mozRequestFullScreen() : e.webkitRequestFullscreen ? e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT) : player.video.webkitSupportsFullscreen ? player.video.webkitEnterFullscreen() : e.msRequestFullscreen ? e.msRequestFullscreen() : i.default.addClass(e, "xgplayer-is-cssfullscreen")
- }
- }, {
- key: "exitFullscreen", value: function (e) {
- document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.msExitFullscreen && document.msExitFullscreen(), i.default.removeClass(e, "xgplayer-is-cssfullscreen")
- }
- }, {
- key: "download", value: function () {
- var e = (0, c.getAbsoluteURL)(player.config.url);
- console.log(e), (0, p.default)(e)
- }
- }, {
- key: "pluginsCall", value: function () {
- var e = this, n = this;
- if (t.plugins) {
- var r = this.config.ignores;
- Object.keys(t.plugins).forEach(function (a) {
- var i = t.plugins[a];
- r.some(function (e) {
- return a === e || a === "s_" + e
- }) || (["pc", "tablet", "mobile"].some(function (e) {
- return e === a
- }) ? a === l.default.device && setTimeout(function () {
- i.call(n, n)
- }, 0) : i.call(e, e))
- })
- }
- }
- }, {
- key: "getPIP", value: function () {
- var e = i.default.createDom("xg-pip-lay", "<div></div>", {}, "xgplayer-pip-lay");
- this.root.appendChild(e);
- var t = i.default.createDom("xg-pip-drag", '<div class="drag-handle"><span>点击按住可拖动视频</span></div>', {tabindex: 9}, "xgplayer-pip-drag");
- this.root.appendChild(t);
- new u.default(".xgplayer", {handle: ".drag-handle"});
- i.default.addClass(this.root, "xgplayer-pip-active"), this.root.style.right = 0, this.root.style.bottom = "200px", this.root.style.top = "", this.root.style.left = "", this.root.style.width = "320px", this.root.style.height = "180px", this.config.pipConfig && (void 0 !== this.config.pipConfig.top && (this.root.style.top = this.config.pipConfig.top + "px", this.root.style.bottom = ""), void 0 !== this.config.pipConfig.bottom && (this.root.style.bottom = this.config.pipConfig.bottom + "px"), void 0 !== this.config.pipConfig.left && (this.root.style.left = this.config.pipConfig.left + "px", this.root.style.right = ""), void 0 !== this.config.pipConfig.right && (this.root.style.right = this.config.pipConfig.right + "px"), void 0 !== this.config.pipConfig.width && (this.root.style.width = this.config.pipConfig.width + "px"), void 0 !== this.config.pipConfig.height && (this.root.style.height = this.config.pipConfig.height + "px")), this.config.fluid && (this.root.style["padding-top"] = "");
- var n = this;
- ["click", "touchend"].forEach(function (t) {
- e.addEventListener(t, function (e) {
- e.preventDefault(), e.stopPropagation(), n.exitPIP()
- })
- })
- }
- }, {
- key: "exitPIP", value: function () {
- i.default.removeClass(this.root, "xgplayer-pip-active"), this.root.style.right = "", this.root.style.bottom = "", this.root.style.top = "", this.root.style.left = "", this.config.fluid ? (this.root.style.width = "100%", this.root.style.height = "0", this.root.style["padding-top"] = 100 * this.config.height / this.config.width + "%") : (this.config.width && ("number" != typeof this.config.width ? this.root.style.width = this.config.width : this.root.style.width = this.config.width + "px"), this.config.height && ("number" != typeof this.config.height ? this.root.style.height = this.config.height : this.root.style.height = this.config.height + "px"));
- var e = i.default.findDom(this.root, ".xgplayer-pip-lay");
- e && e.parentNode && e.parentNode.removeChild(e);
- var t = i.default.findDom(this.root, ".xgplayer-pip-drag");
- t && t.parentNode && t.parentNode.removeChild(t)
- }
- }, {
- key: "updateRotateDeg", value: function () {
- player.rotateDeg || (player.rotateDeg = 0);
- var e = player.root.offsetWidth, t = player.root.offsetHeight, n = player.video.videoWidth,
- r = player.video.videoHeight;
- player.config.rotate.innerRotate || (player.root.style.width = t + "px", player.root.style.height = e + "px");
- var a = void 0;
- if (.25 === player.rotateDeg || .75 === player.rotateDeg) {
- if (player.config.rotate.innerRotate) if (n / r > t / e) {
- a = (r / n > t / e ? t * n / r : e) > t ? t > e ? e / t : t / e : t > e ? t / e : e / t
- } else {
- a = (r / n > t / e ? t : e * r / n) > e ? t > e ? e / t : t / e : t > e ? t / e : e / t
- } else a = e >= t ? (e / t).toFixed(2) : (t / e).toFixed(2);
- a = parseFloat(a.toFixed(5))
- } else a = 1;
- player.video.style.transformOrigin = "center center", player.video.style.transform = "rotate(" + player.rotateDeg + "turn) scale(" + a + ")", player.video.style.webKitTransform = "rotate(" + player.rotateDeg + "turn) scale(" + a + ")"
- }
- }, {
- key: "rotate", value: function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
- t = (!(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1);
- player.rotateDeg || (player.rotateDeg = 0);
- var n = e ? 1 : -1;
- player.rotateDeg = (player.rotateDeg + 1 + .25 * n * t) % 1, this.updateRotateDeg(), player.emit("rotate", 360 * player.rotateDeg)
- }
- }, {
- key: "onFocus", value: function () {
- var e = this;
- i.default.removeClass(this.root, "xgplayer-inactive"), e.userTimer && clearTimeout(e.userTimer), e.userTimer = setTimeout(function () {
- e.emit("blur")
- }, e.config.inactive)
- }
- }, {
- key: "onBlur", value: function () {
- this.paused || this.ended || i.default.addClass(this.root, "xgplayer-inactive")
- }
- }, {
- key: "onPlay", value: function () {
- i.default.addClass(this.root, "xgplayer-playing"), i.default.removeClass(this.root, "xgplayer-pause")
- }
- }, {
- key: "onPause", value: function () {
- i.default.addClass(this.root, "xgplayer-pause"), this.userTimer && clearTimeout(this.userTimer), this.emit("focus")
- }
- }, {
- key: "onEnded", value: function () {
- i.default.addClass(this.root, "xgplayer-ended"), i.default.removeClass(this.root, "xgplayer-playing")
- }
- }, {
- key: "onSeeking", value: function () {
- }
- }, {
- key: "onSeeked", value: function () {
- this.waitTimer && clearTimeout(this.waitTimer), i.default.removeClass(this.root, "xgplayer-isloading")
- }
- }, {
- key: "onWaiting", value: function () {
- var e = this;
- e.waitTimer && clearTimeout(e.waitTimer), e.waitTimer = setTimeout(function () {
- i.default.addClass(e.root, "xgplayer-isloading")
- }, 500)
- }
- }, {
- key: "onPlaying", value: function () {
- this.waitTimer && clearTimeout(this.waitTimer), i.default.removeClass(this.root, "xgplayer-isloading xgplayer-nostart xgplayer-pause xgplayer-ended xgplayer-is-error xgplayer-replay"), i.default.addClass(this.root, "xgplayer-playing")
- }
- }, {
- key: "onKeydown", value: function (e, t) {
- var n = e || window.event;
- if (!n || 37 !== n.keyCode && 38 !== n.keyCode && 39 !== n.keyCode && 40 !== n.keyCode && 32 !== n.keyCode || t.emit("focus"), !n || 40 !== n.keyCode && 38 !== n.keyCode) n && 39 === n.keyCode ? t.currentTime + 10 <= t.duration ? t.currentTime += 10 : t.currentTime = t.duration - 1 : n && 37 === n.keyCode ? t.currentTime - 10 >= 0 ? t.currentTime -= 10 : t.currentTime = 0 : n && 32 === n.keyCode && (t.paused ? t.play() : t.pause()); else {
- if (t.controls) {
- var r = t.controls.querySelector(".xgplayer-slider");
- r && (i.default.hasClass(r, "xgplayer-none") && i.default.removeClass(r, "xgplayer-none"), t.sliderTimer && clearTimeout(t.sliderTimer), t.sliderTimer = setTimeout(function () {
- i.default.addClass(r, "xgplayer-none")
- }, t.config.inactive))
- }
- n && 40 === n.keyCode ? t.volume - .1 >= 0 ? t.volume -= .1 : t.volume = 0 : n && 38 === n.keyCode && (t.volume + .1 <= 1 ? t.volume += .1 : t.volume = 1)
- }
- }
- }], [{
- key: "install", value: function (e, n) {
- t.plugins || (t.plugins = {}), t.plugins[e] || (t.plugins[e] = n)
- }
- }, {
- key: "use", value: function (e, n) {
- t.plugins || (t.plugins = {}), t.plugins[e] = n
- }
- }]), t
- }();
- h.util = i.default, h.sniffer = l.default, h.Errors = s.default, t.default = h, e.exports = t.default
- }, function (e, t, n) {
- "use strict";
- var r = n(18)();
- e.exports = function (e) {
- return e !== r && null !== e
- }
- }, function (module, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {value: !0});
- var util = {
- createDom: function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "div",
- t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
- n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
- r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "",
- a = document.createElement(e);
- return a.className = r, a.innerHTML = t, Object.keys(n).forEach(function (t) {
- var r = t, i = n[t];
- "video" === e || "audio" === e ? i && a.setAttribute(r, i) : a.setAttribute(r, i)
- }), a
- }, hasClass: function (e, t) {
- return e.classList ? Array.prototype.some.call(e.classList, function (e) {
- return e === t
- }) : !!e.className.match(new RegExp("(\\s|^)" + t + "(\\s|$)"))
- }, addClass: function (e, t) {
- e.classList ? t.replace(/(^\s+|\s+$)/g, "").split(/\s+/g).forEach(function (t) {
- t && e.classList.add(t)
- }) : util.hasClass(e, t) || (e.className += " " + t)
- }, removeClass: function (e, t) {
- e.classList ? t.split(/\s+/g).forEach(function (t) {
- e.classList.remove(t)
- }) : util.hasClass(e, t) && t.split(/\s+/g).forEach(function (t) {
- var n = new RegExp("(\\s|^)" + t + "(\\s|$)");
- e.className = e.className.replace(n, " ")
- })
- }, toggleClass: function (e, t) {
- t.split(/\s+/g).forEach(function (t) {
- util.hasClass(e, t) ? util.removeClass(e, t) : util.addClass(e, t)
- })
- }, findDom: function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : document, t = arguments[1],
- n = void 0;
- try {
- n = e.querySelector(t)
- } catch (r) {
- t.startsWith("#") && (n = e.getElementById(t.slice(1)))
- }
- return n
- }, padStart: function (e, t, n) {
- for (var r = String(n), a = t >> 0, i = Math.ceil(a / r.length), o = [], l = String(e); i--;) o.push(r);
- return o.join("").substring(0, a - l.length) + l
- }, format: function (e) {
- if (window.isNaN(e)) return "";
- var t = util.padStart(Math.floor(e / 3600), 2, 0),
- n = util.padStart(Math.floor((e - 3600 * t) / 60), 2, 0),
- r = util.padStart(Math.floor(e - 3600 * t - 60 * n), 2, 0);
- return ("00" === t ? [n, r] : [t, n, r]).join(":")
- }, event: function (e) {
- if (e.touches) {
- var t = e.touches[0] || e.changedTouches[0];
- e.clientX = t.clientX || 0, e.clientY = t.clientY || 0, e.offsetX = t.pageX - t.target.offsetLeft, e.offsetY = t.pageY - t.target.offsetTop
- }
- e._target = e.target || e.srcElement
- }, typeOf: function (e) {
- return Object.prototype.toString.call(e).match(/([^\s.*]+)(?=]$)/g)[0]
- }, deepCopy: function (e, t) {
- if ("Object" === util.typeOf(t) && "Object" === util.typeOf(e)) return Object.keys(t).forEach(function (n) {
- "Object" !== util.typeOf(t[n]) || t[n] instanceof Node ? "Array" === util.typeOf(t[n]) ? e[n] = "Array" === util.typeOf(e[n]) ? e[n].concat(t[n]) : t[n] : e[n] = t[n] : e[n] ? util.deepCopy(e[n], t[n]) : e[n] = t[n]
- }), e
- }, getBgImage: function (e) {
- var t = (e.currentStyle || window.getComputedStyle(e, null)).backgroundImage;
- if (!t || "none" === t) return "";
- var n = document.createElement("a");
- return n.href = t.replace(/url\("|"\)/g, ""), n.href
- }, copyDom: function (e) {
- if (e && 1 === e.nodeType) {
- var t = document.createElement(e.tagName);
- return Array.prototype.forEach.call(e.attributes, function (e) {
- t.setAttribute(e.name, e.value)
- }), e.innerHTML && (t.innerHTML = e.innerHTML), t
- }
- return ""
- }, setInterval: function (e, t, n, r) {
- e._interval[t] || (e._interval[t] = setInterval(n.bind(e), r))
- }, clearInterval: function (e, t) {
- clearInterval(e._interval[t]), e._interval[t] = null
- }, createImgBtn: function (e, t, n, r) {
- var a = util.createDom("xg-" + e, "", {}, "xgplayer-" + e + "-img");
- if (a.style.backgroundImage = 'url("' + t + '")', n && r) {
- var i = void 0, o = void 0, l = void 0;
- ["px", "rem", "em", "pt", "dp", "vw", "vh", "vm", "%"].every(function (e) {
- return !(n.indexOf(e) > -1 && r.indexOf(e) > -1) || (i = parseFloat(n.slice(0, n.indexOf(e)).trim()), o = parseFloat(r.slice(0, r.indexOf(e)).trim()), l = e, !1)
- }), a.style.width = "" + i + l, a.style.height = "" + o + l, a.style.backgroundSize = "" + i + l + " " + o + l, a.style.margin = "start" === e ? "-" + o / 2 + l + " auto auto -" + i / 2 + l : "auto 5px auto 5px"
- }
- return a
- }, Hex2RGBA: function (hex, alpha) {
- var rgb = [];
- if (/^\#[0-9A-F]{3}$/i.test(hex)) {
- var sixHex = "#";
- hex.replace(/[0-9A-F]/gi, function (e) {
- sixHex += e + e
- }), hex = sixHex
- }
- return /^#[0-9A-F]{6}$/i.test(hex) ? (hex.replace(/[0-9A-F]{2}/gi, function (kw) {
- rgb.push(eval("0x" + kw))
- }), "rgba(" + rgb.join(",") + ", " + alpha + ")") : "rgba(255, 255, 255, 0.1)"
- }
- };
- exports.default = util, module.exports = exports.default
- }, function (e, t, n) {
- "use strict";
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = n(4);
- var a = {
- network: {code: 1, msg: "视频下载错误", remark: "只要视频下载错误就使用此类型,无论是video本身的超时还是xhr的分段请求超时或者资源不存在"},
- mse: {code: 2, msg: "流追加错误", remark: "追加流的时候如果类型不对、无法被正确解码则会触发此类错误"},
- parse: {code: 3, msg: "解析错误", remark: "mp4、hls、flv我们都是使用js进行格式解析,如果解析失败则会触发此类错误"},
- format: {code: 4, msg: "格式错误", remark: "如果浏览器不支持的格式导致播放错误"},
- decoder: {code: 5, msg: "解码错误", remark: "浏览器解码异常会抛出此类型错误"},
- runtime: {code: 6, msg: "语法错误", remark: "播放器语法错误"},
- timeout: {code: 7, msg: "播放超时", remark: "播放过程中无法正常请求下一个分段导致播放中断"},
- other: {code: 8, msg: "其他错误", remark: "不可知的错误或被忽略的错误类型"}
- };
- t.default = function e(t, n, i, o, l, s, u, c) {
- var p = arguments.length > 8 && void 0 !== arguments[8] ? arguments[8] : {
- line: "",
- handle: "",
- msg: "",
- version: ""
- };
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e);
- var d = {};
- return d.playerVersion = r.version, d.errorType = t, d.domain = document.domain, d.duration = i, d.currentTime = n, d.networkState = o, d.readyState = l, d.currentSrc = u, d.src = s, d.ended = c, d.errd = p, d.ex = (a[t] || {}).msg, d
- }, e.exports = t.default
- }, function (e) {
- e.exports = {
- name: "xgplayer",
- version: "2.1.2",
- description: "video player",
- main: "./dist/index.js",
- bin: {xgplayer: "bin/xgplayer.js"},
- scripts: {
- prepare: "npm run build",
- build: "webpack --progress --display-chunks -p",
- watch: "webpack --progress --display-chunks -p --watch --mode development"
- },
- keywords: ["video", "player"],
- babel: {presets: ["es2015"], plugins: ["add-module-exports", "babel-plugin-bulk-import"]},
- repository: {type: "git", url: "git+https://github.com/bytedance/xgplayer.git"},
- author: "yinguohui@bytedance.com",
- license: "MIT",
- dependencies: {
- chalk: "^2.3.2",
- commander: "^2.15.1",
- "danmu.js": "0.1.0",
- deepmerge: "^1.5.0",
- downloadjs: "1.4.7",
- draggabilly: "^2.2.0",
- "event-emitter": "^0.3.5",
- "fs-extra": "^5.0.0",
- pasition: "^1.0.1",
- "request-frame": "^1.5.3"
- },
- browserslist: ["> 5%", "IE 9", "iOS 7", "Firefox > 20"],
- devDependencies: {
- autoprefixer: "^9.1.5",
- "babel-core": "^6.26.3",
- "babel-loader": "^7.1.4",
- "babel-plugin-add-module-exports": "^0.2.1",
- "babel-plugin-bulk-import": "^1.0.2",
- "babel-plugin-transform-object-rest-spread": "^6.26.0",
- "babel-plugin-transform-runtime": "^6.23.0",
- "babel-preset-es2015": "^6.24.1",
- chai: "^4.1.2",
- "core-js": "^2.5.4",
- "css-loader": "^0.28.11",
- "json-loader": "^0.5.7",
- "node-sass": "^4.8.3",
- "postcss-cssnext": "^3.1.0",
- "postcss-loader": "^2.1.5",
- "raw-loader": "^2.0.0",
- "sass-loader": "^6.0.7",
- "style-loader": "^0.20.3",
- sugarss: "^1.0.1",
- webpack: "^4.11.0",
- "webpack-cli": "^3.0.2",
- zlib: "^1.0.5"
- }
- }
- }, function (e, t, n) {
- "use strict";
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = {
- get device() {
- return r.os.isPc ? "pc" : "mobile"
- }, get browser() {
- var e = navigator.userAgent.toLowerCase(), t = {
- ie: /rv:([\d.]+)\) like gecko/,
- firfox: /firefox\/([\d.]+)/,
- chrome: /chrome\/([\d.]+)/,
- opera: /opera.([\d.]+)/,
- safari: /version\/([\d.]+).*safari/
- };
- return [].concat(Object.keys(t).filter(function (n) {
- return t[n].test(e)
- }))[0]
- }, get os() {
- var e = navigator.userAgent, t = /(?:Windows Phone)/.test(e), n = /(?:SymbianOS)/.test(e) || t,
- r = /(?:Android)/.test(e), a = /(?:Firefox)/.test(e),
- i = /(?:iPad|PlayBook)/.test(e) || r && !/(?:Mobile)/.test(e) || a && /(?:Tablet)/.test(e),
- o = /(?:iPhone)/.test(e) && !i;
- return {
- isTablet: i,
- isPhone: o,
- isAndroid: r,
- isPc: !(o || r || n || i),
- isSymbian: n,
- isWindowsPhone: t,
- isFireFox: a
- }
- }
- };
- t.default = r, e.exports = t.default
- }, function (e, t, n) {
- "use strict";
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
- return typeof e
- } : function (e) {
- return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
- }, a = Object.assign || function (e) {
- for (var t = 1; t < arguments.length; t++) {
- var n = arguments[t];
- for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
- }
- return e
- };
- var i = void 0, o = function e() {
- var t = this;
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.set = function (e, n) {
- var r = e, a = n;
- if (null === a) return !1;
- var i = "";
- if (r.indexOf(".") > -1) {
- var o = r.split(".");
- i = o[0], r = o[1]
- }
- "os_version" === r && (a = "" + a), i ? "user" === i || "header" === i ? t.envInfo[i][r] = a : "headers" === i ? t.envInfo.header.headers[r] = a : t.envInfo.header.headers.custom[r] = a : t.envInfo.user.hasOwnProperty(r) ? ["user_type", "device_id", "ip_addr_id"].indexOf(r) > -1 ? t.envInfo.user[r] = Number(a) : ["user_id", "web_id", "user_unique_id", "ssid"].indexOf(r) > -1 ? t.envInfo.user[r] = String(a) : ["user_is_auth", "user_is_login"].indexOf(r) > -1 && (t.envInfo.user[r] = Boolean(a)) : t.envInfo.header.hasOwnProperty(r) ? t.envInfo.header[r] = a : t.envInfo.header.headers.hasOwnProperty(r) ? t.envInfo.header.headers[r] = a : t.envInfo.header.headers.custom[r] = a
- }, this.get = function () {
- var e = {user: {}, header: {headers: {custom: {}}}}, n = t.envInfo, r = n.user, o = Object.keys(r),
- l = Array.isArray(o), s = 0;
- for (o = l ? o : o[Symbol.iterator](); ;) {
- var u;
- if (l) {
- if (s >= o.length) break;
- u = o[s++]
- } else {
- if ((s = o.next()).done) break;
- u = s.value
- }
- var c = u;
- r[c] !== i && (e.user[c] = r[c])
- }
- var p = n.header, d = Object.keys(p), f = Array.isArray(d), g = 0;
- for (d = f ? d : d[Symbol.iterator](); ;) {
- var h;
- if (f) {
- if (g >= d.length) break;
- h = d[g++]
- } else {
- if ((g = d.next()).done) break;
- h = g.value
- }
- var y = h;
- p[y] !== i && "headers" !== y && (e.header[y] = p[y])
- }
- var x = n.header.headers, m = Object.keys(x), v = Array.isArray(m), b = 0;
- for (m = v ? m : m[Symbol.iterator](); ;) {
- var k;
- if (v) {
- if (b >= m.length) break;
- k = m[b++]
- } else {
- if ((b = m.next()).done) break;
- k = b.value
- }
- var w = k;
- "custom" !== w && x[w] !== i && (e.header.headers[w] = x[w])
- }
- var _ = n.header.headers.custom, E = Object.keys(_);
- if (E.length) {
- var C = E, S = Array.isArray(C), P = 0;
- for (C = S ? C : C[Symbol.iterator](); ;) {
- var T;
- if (S) {
- if (P >= C.length) break;
- T = C[P++]
- } else {
- if ((P = C.next()).done) break;
- T = P.value
- }
- var O = T;
- e.header.headers.custom[O] = _[O]
- }
- }
- return {user: e.user, header: a({}, e.header, {headers: e.header.headers})}
- }, this.envInfo = {
- user: {
- user_unique_id: i,
- user_type: i,
- user_id: i,
- user_is_auth: i,
- user_is_login: i,
- device_id: i,
- web_id: i,
- ip_addr_id: i,
- ssid: i
- },
- header: {
- app_id: i,
- app_name: i,
- app_install_id: i,
- app_package: i,
- app_channel: i,
- app_version: i,
- os_name: i,
- os_version: i,
- device_model: i,
- ab_client: i,
- ab_version: i,
- traffic_type: i,
- utm_source: i,
- utm_medium: i,
- utm_campaign: i,
- client_ip: i,
- device_brand: i,
- os_api: i,
- access: i,
- language: i,
- region: i,
- app_language: i,
- app_region: i,
- creative_id: i,
- ad_id: i,
- campaign_id: i,
- log_type: i,
- rnd: i,
- platform: i,
- sdk_version: i,
- province: i,
- city: i,
- timezone: i,
- tz_offset: i,
- tz_name: i,
- sim_region: i,
- carrier: i,
- resolution: i,
- browser: i,
- browser_version: i,
- referrer: i,
- referrer_host: i,
- headers: {utm_term: i, utm_content: i, custom: {}}
- }
- }
- }, l = function (e) {
- var t = document.createElement("a");
- return t.href = e, t
- }, s = screen.width || 0, u = screen.height || 0, c = s + " x " + u, p = navigator.appVersion,
- d = navigator.userAgent, f = navigator.language, g = document.referrer, h = l(g).hostname,
- y = function (e) {
- var t = l(e).search;
- t = t.slice(1);
- var n = {};
- return t.split("&").forEach(function (e) {
- var t = e.split("="), r = t[0], a = t[1];
- n[r] = decodeURIComponent(void 0 === a ? "" : a)
- }), n
- }(location.href), x = "", m = "", v = "", b = "" + parseFloat(p), k = void 0, w = void 0;
- -1 !== (k = d.indexOf("Opera")) && (v = "Opera", b = d.substring(k + 6), -1 !== (k = d.indexOf("Version")) && (b = d.substring(k + 8))), -1 !== (k = d.indexOf("Edge")) ? (v = "Microsoft Edge", b = d.substring(k + 5)) : -1 !== (k = d.indexOf("MSIE")) ? (v = "Microsoft Internet Explorer", b = d.substring(k + 5)) : -1 !== (k = d.indexOf("Chrome")) ? (v = "Chrome", b = d.substring(k + 7)) : -1 !== (k = d.indexOf("Safari")) ? (v = "Safari", b = d.substring(k + 7), -1 !== (k = d.indexOf("Version")) && (b = d.substring(k + 8))) : -1 !== (k = d.indexOf("Firefox")) && (v = "Firefox", b = d.substring(k + 8)), -1 !== (w = b.indexOf(";")) && (b = b.substring(0, w)), -1 !== (w = b.indexOf(" ")) && (b = b.substring(0, w)), -1 !== (w = b.indexOf(")")) && (b = b.substring(0, w));
- for (var _, E, C = /Mobile|htc|mini|Android|iP(ad|od|hone)/.test(p) ? "wap" : "web", S = [{
- s: "Windows 10",
- r: /(Windows 10.0|Windows NT 10.0)/
- }, {s: "Windows 8.1", r: /(Windows 8.1|Windows NT 6.3)/}, {
- s: "Windows 8",
- r: /(Windows 8|Windows NT 6.2)/
- }, {s: "Windows 7", r: /(Windows 7|Windows NT 6.1)/}, {s: "Android", r: /Android/}, {
- s: "Sun OS",
- r: /SunOS/
- }, {s: "Linux", r: /(Linux|X11)/}, {s: "iOS", r: /(iPhone|iPad|iPod)/}, {
- s: "Mac OS X",
- r: /Mac OS X/
- }, {s: "Mac OS", r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/}], P = 0; P < S.length; P++) {
- var T = S[P];
- if (T.r.test(d)) {
- x = T.s;
- break
- }
- }
- function O(e, t) {
- var n = e.exec(t);
- return n && n[1] ? n[1] : ""
- }
- switch (/Windows/.test(x) && (m = O(/Windows (.*)/, x), x = "windows"), x) {
- case"Mac OS X":
- m = O(/Mac OS X (10[\.\_\d]+)/, d), x = "mac";
- break;
- case"Android":
- (E = O(/Android ([\.\_\d]+)/, _ = d)) || (E = O(/Android\/([\.\_\d]+)/, _)), m = E, x = "android";
- break;
- case"iOS":
- m = (m = /OS (\d+)_(\d+)_?(\d+)?/.exec(p)) ? m[1] + "." + m[2] + "." + (0 | m[3]) : "", x = "ios"
- }
- var L = {
- screen_size: c,
- browser: v,
- browser_version: b,
- platform: C,
- os_name: x,
- os_version: m,
- userAgent: d,
- screen_width: s,
- screen_height: u,
- device_model: x,
- language: f,
- referrer: g,
- referrer_host: h,
- utm_source: y.utm_source,
- utm_medium: y.utm_medium,
- utm_campaign: y.utm_campaign,
- utm_term: y.utm_term,
- utm_content: y.utm_content
- }, D = {
- get: function (e) {
- var t = localStorage.getItem(e), n = t;
- try {
- t && "string" == typeof t && (n = JSON.parse(t))
- } catch (e) {
- }
- return n
- }, set: function (e, t) {
- try {
- var n = "string" == typeof t ? t : JSON.stringify(t);
- localStorage.setItem(e, n)
- } catch (e) {
- }
- }
- }, M = "__tea_cache_", R = 4001, z = 4e3, A = 4002, j = 4003, I = 500, B = 5001,
- N = "function" == typeof Symbol && "symbol" === r(Symbol.iterator) ? function (e) {
- return void 0 === e ? "undefined" : r(e)
- } : function (e) {
- return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : void 0 === e ? "undefined" : r(e)
- };
- var q = function e() {
- var t = this, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.init = function (e) {
- t.isLog = e
- }, this.info = function (e) {
- for (var n = arguments.length, r = Array(n > 1 ? n - 1 : 0), a = 1; a < n; a++) r[a - 1] = arguments[a];
- var i;
- t.isLog && (i = console).log.apply(i, [t.prefix + e].concat(r))
- }, this.warn = function (e) {
- for (var n = arguments.length, r = Array(n > 1 ? n - 1 : 0), a = 1; a < n; a++) r[a - 1] = arguments[a];
- var i;
- t.isLog && (i = console).warn.apply(i, [t.prefix + e].concat(r))
- }, this.error = function (e) {
- for (var n = arguments.length, r = Array(n > 1 ? n - 1 : 0), a = 1; a < n; a++) r[a - 1] = arguments[a];
- var i;
- t.isLog && (i = console).error.apply(i, [t.prefix + e].concat(r))
- }, this.dir = function () {
- var e;
- t.isLog && (e = console).dir.apply(e, arguments)
- }, this.table = function (e) {
- t.isLog && console.table(e)
- }, this.logJSON = function (e) {
- "object" === (void 0 === e ? "undefined" : N(e)) && t.isLog && t.info("", JSON.stringify(e, null, 2))
- }, this.deprecated = function (e) {
- for (var n = arguments.length, r = Array(n > 1 ? n - 1 : 0), a = 1; a < n; a++) r[a - 1] = arguments[a];
- t.warn.apply(t, ["[DEPRECATED]" + e].concat(r))
- }, this.throw = function (e) {
- throw t.error(t.prefix), new Error(e)
- };
- var r = n ? "[" + n + "]" : "";
- this.prefix = "[tea-sdk]" + r
- }, F = new q, U = function (e, t, n, r) {
- var a = new XMLHttpRequest;
- a.open("POST", e, !0), a.setRequestHeader("Content-Type", "application/json; charset=utf-8"), a.onload = function () {
- try {
- var e = JSON.parse(a.responseText);
- n && n(e)
- } catch (e) {
- r && r()
- }
- }, a.onerror = function () {
- r && r()
- }, a.send(JSON.stringify(t))
- };
- var H = (new Date).getTimezoneOffset(), W = parseInt(-H / 60, 10), Y = 60 * H, V = void 0;
- try {
- V = "3.2.7"
- } catch (_) {
- V = "2.x"
- }
- var K = new (function (e) {
- function t() {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, t);
- var n = function (e, t) {
- if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- return !t || "object" !== (void 0 === t ? "undefined" : r(t)) && "function" != typeof t ? e : t
- }(this, e.call(this));
- return n.initClientEnv = function () {
- n.set("os_name", L.os_name), n.set("os_version", L.os_version), n.set("device_model", L.device_model), n.set("platform", L.platform), n.set("sdk_version", V), n.set("browser", L.browser), n.set("browser_version", L.browser_version), n.set("language", L.language), n.set("timezone", W), n.set("tz_offset", Y), n.set("resolution", L.screen_width + "x" + L.screen_height), n.set("screen_width", L.screen_width), n.set("screen_height", L.screen_height), n.set("referrer", L.referrer), n.set("referrer_host", L.referrer_host), n.set("utm_source", L.utm_source), n.set("utm_medium", L.utm_medium), n.set("utm_campaign", L.utm_campaign), n.set("utm_term", L.utm_term), n.set("utm_content", L.utm_content)
- }, n.initClientEnv(), n
- }
- return function (e, t) {
- if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (void 0 === t ? "undefined" : r(t)));
- e.prototype = Object.create(t && t.prototype, {
- constructor: {
- value: e,
- enumerable: !1,
- writable: !0,
- configurable: !0
- }
- }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
- }(t, e), t
- }(o));
- var X = new (function () {
- function e() {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e)
- }
- return e.prototype.isString = function (e) {
- return "String" === Object.prototype.toString.call(e).slice(8, -1)
- }, e.prototype.isNumber = function (e) {
- return "Number" === Object.prototype.toString.call(e).slice(8, -1)
- }, e.prototype.isBoolean = function (e) {
- return "Boolean" === Object.prototype.toString.call(e).slice(8, -1)
- }, e.prototype.isFunction = function (e) {
- return "Function" === Object.prototype.toString.call(e).slice(8, -1)
- }, e.prototype.isNull = function (e) {
- return "Null" === Object.prototype.toString.call(e).slice(8, -1)
- }, e.prototype.isUndefined = function (e) {
- return "Undefined" === Object.prototype.toString.call(e).slice(8, -1)
- }, e.prototype.isObj = function (e) {
- return "Object" === Object.prototype.toString.call(e).slice(8, -1)
- }, e.prototype.isArray = function (e) {
- return "Array" === Object.prototype.toString.call(e).slice(8, -1)
- }, e.prototype.isFalse = function (e) {
- return "" === e || null == e || "null" === e || "undefined" === e || 0 === e || !1 === e || NaN === e
- }, e.prototype.isTrue = function (e) {
- return !this.isFalse(e)
- }, e.prototype.isLowIE = function () {
- return window.XDomainRequest
- }, e
- }());
- var J = function (e) {
- return function (e, t, n) {
- if ("string" == typeof e && "number" == typeof t && "number" == typeof n) {
- var r, a = [];
- n = n <= 25 ? n : n % 25;
- var i = String.fromCharCode(n + 97);
- r = e.split(i);
- for (var o = 0; o < r.length; o++) {
- var l = parseInt(r[o], n);
- l = 1 * l ^ t;
- var s = String.fromCharCode(l);
- a.push(s)
- }
- return a.join("")
- }
- }(e, 64, 25)
- };
- function $(e) {
- return e ? (e ^ 16 * Math.random() >> e / 4).toString(10) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, $)
- }
- var Q = function () {
- return $().replace(/-/g, "").slice(0, 19)
- }, G = Object.assign || function (e) {
- for (var t = 1; t < arguments.length; t++) {
- var n = arguments[t];
- for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
- }
- return e
- };
- var Z = {
- cn: "1fz22z22z1nz21z4mz4bz4bz1kz1az21z4az21z1lz21z21z1bz1iz4az1az1mz1k",
- sg: "1fz22z22z1nz21z4mz4bz4bz21z1ez18z1jz1gz49z1kz1az21z4az19z27z22z1cz1mz24z1cz20z21z1cz18z4az1az1mz1k",
- va: "1fz22z22z1nz21z4mz4bz4bz1kz18z1jz1gz24z18z49z1kz1az21z4az19z27z22z1cz1mz24z1cz20z21z1cz18z4az1az1mz1k"
- }, ee = function (e) {
- try {
- var t = document.cookie.match(new RegExp("(?:^|;)\\s*" + e + "=([^;]+)"));
- return decodeURIComponent(t ? t[1] : "")
- } catch (e) {
- return ""
- }
- }, te = function (e) {
- function t() {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, t);
- var n = function (e, t) {
- if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- return !t || "object" !== (void 0 === t ? "undefined" : r(t)) && "function" != typeof t ? e : t
- }(this, e.call(this));
- return n.init = function (e) {
- var t = e.app_id, r = e.channel, a = e.log, i = e.channel_domain, o = e.name;
- if ("number" != typeof t) throw new Error("app_id 必须是一个数字,注意检查是否是以`string`的方式传入的?");
- n.logger = new q(o), n.logger.init(a), n.initConfigs(e), n.initUrls(r, i), n.setEnv("app_id", t)
- }, n.initConfigs = function (e) {
- var t = e.app_id, r = e.disable_ssid, a = e.disable_webid, i = e.disable_sdk_monitor;
- n.app_id = t, n.evtDataCacheKey = M + "events_" + t, r && (n.logger.info("ssid已禁用,设置user_unique_id不会请求ssid接口。"), n.isSsidDisabled = !0), a && (n.logger.info("webid服务已禁用,ssid同时被禁用。将本地生成webid。"), n.isWebidDisabled = !0, n.isSsidDisabled = !0), i && (n.logger.info("SDK监控已禁用。"), n.isSdkMonitorDisabled = !0)
- }, n.initUrls = function (e, t) {
- if ("internal" === e && (n.logger.warn("channel 的值 internal 已被废弃,已自动改为 cn。"), e = "cn"), !t && !Z[e]) throw new Error("channel 变量只能是 `cn`, `sg`,`va`");
- var r = t || J(Z[e]);
- r = r.replace(/\/+$/, ""), n.reportUrl = r + "/v1/list", n.userTokensPrefix = "" + r
- }, n.setEnv = function (e, t) {
- if ("app_id" === e && n.checkUserToken(t), "user_unique_id" === e) {
- if (n.blackUuid.some(function (e) {
- return e === String(t)
- })) return void n.logger.warn('设置了无效的值 {user_unique_id:"%s"}。该操作已忽略。', t);
- n.verifyTokens(t)
- }
- if ("web_id" === e) {
- if (!t) return;
- (!n.envInfo.user.user_unique_id || n.envInfo.user.user_unique_id && n.envInfo.user.user_unique_id === n.envInfo.user.web_id) && n.set("user_unique_id", t)
- }
- n.set(e, t)
- }, n.transferFromCookie = function () {
- var e = n.tokensCacheKey, t = ee("tt_webid"), r = ee("__tea_sdk__ssid"),
- a = ee("__tea_sdk__user_unique_id");
- if (X.isLowIE()) {
- if (t) {
- var i = {web_id: t, ssid: t, user_unique_id: t};
- D.set(e, JSON.stringify(i))
- }
- return !1
- }
- if (t && r && a) {
- var o = {web_id: t, ssid: r, user_unique_id: a};
- D.set(e, JSON.stringify(o))
- }
- }, n.purifyBlackUuid = function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
- if (n.blackUuid.some(function (t) {
- return t === e.user_unique_id
- })) {
- var t = {};
- return n.setUserTokens(t), n.logger.warn('检测到无效的用户标识,已重置用户状态。{user_unique_id: "%s"}', e.user_unique_id), t
- }
- return e
- }, n.getUserTokens = function () {
- return D.get(n.tokensCacheKey) || {}
- }, n.setUserTokens = function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
- return D.set(n.tokensCacheKey, e)
- }, n.checkUserToken = function (e) {
- var t = M + "tokens_" + e;
- n.tokensCacheKey = t, n.transferFromCookie();
- var r = n.purifyBlackUuid(n.getUserTokens());
- r.user_unique_id && r.web_id ? (n.envInfo.user.user_unique_id = r.user_unique_id, n.envInfo.user.web_id = r.web_id, n.envInfo.user.ssid = r.ssid || "", n.logger.info("初始化已经检测到了 webid user_unique_id,一般情况下不需要再次验证 id 了"), n.unlock()) : n.requestWebId(e)
- }, n.saveTokenToStorage = function (e) {
- var t = e.web_id, r = e.ssid, a = e.user_unique_id;
- n.setUserTokens({web_id: t, ssid: r, user_unique_id: a})
- }, n.requestWebId = function () {
- n.isRequestWebId = !0;
- var e = function (e) {
- var t = n.envInfo.user.web_id || e.web_id, r = e.ssid;
- n.isRequestWebId = !1, n.envInfo.user.ssid = r, n.envInfo.user.web_id = t, n.envInfo.user.user_unique_id = t, n.saveTokenToStorage({
- web_id: t,
- ssid: r,
- user_unique_id: t
- }), n.waitForVerifyTokens ? (n.lock(), n.verifyTokens(n.realUuid)) : (n.unlock(), n.callback && n.callback())
- };
- n.isWebidDisabled ? e({web_id: Q(), ssid: ""}) : function () {
- var t = n.userTokensPrefix + "/v1/user/webid";
- U(t, {
- app_id: n.app_id,
- url: location.href,
- user_agent: L.userAgent,
- referer: L.referrer,
- user_unique_id: ""
- }, function (t) {
- 0 !== t.e ? n.logger.error("请求 webid 失败。请联系管理员。") : e(t)
- }, function () {
- n.isRequestWebId = !1, n.logger.error("获取 webid 失败,数据将不会被上报")
- })
- }()
- }, n.verifyTokens = function (e) {
- var t = n.tokensCacheKey;
- if (n.waitForVerifyTokens = !1, n.realUuid = "" + e, n.isRequestWebId) return n.waitForVerifyTokens = !0, n.logger.info("正在请求 webid,requestSsid 将会在前者请求完毕之后被调用"), !1;
- var r = n.getUserTokens();
- if (r.user_unique_id === n.realUuid && r.ssid && r.web_id) n.logger.info("传入的 user_id/user_unique_id 与 缓存中的完全一致,无需再次请求"), n.unlock(); else {
- n.lock(), n.envInfo.user.user_unique_id = n.realUuid;
- var a = G({}, n.getUserTokens(), {user_unique_id: n.realUuid});
- if (D.set(t, JSON.stringify(a)), X.isLowIE()) return n.unlock(), !1;
- n.isSsidDisabled ? (n.unlock(), n.callback && n.callback()) : n.requestSsid()
- }
- }, n.requestSsid = function () {
- var e = n.getUserTokens(), t = n.userTokensPrefix + "/v1/user/ssid";
- U(t, {app_id: n.app_id, web_id: e.web_id, user_unique_id: "" + e.user_unique_id}, function (t) {
- if (n.unlock(), 0 !== t.e) n.logger.error("请求 ssid 失败~"); else {
- n.envInfo.user.ssid = t.ssid;
- var r = G({}, e, {ssid: t.ssid});
- n.setUserTokens(r), n.logger.info("根据 user_unique_id 更新 ssid 成功!注意:在这之前不应该有数据被发出去"), n.callback && n.callback()
- }
- }, function () {
- n.unlock(), n.logger.error("根据 user_unique_id 获取新 ssid 失败")
- })
- }, n.setEvtParams = function (e) {
- var t = G({}, e);
- Object.keys(t).forEach(function (e) {
- n.evtParams[e] = t[e]
- })
- }, n.mergeEnvToEvents = function (e) {
- var t = n.mergeEnv(), r = [], a = 0, i = void 0;
- return e.forEach(function (e) {
- var t = !!e.params.__disable_storage__;
- void 0 === i ? i = t : (t !== i || r[a].length >= 5) && (a += 1, i = !i), r[a] = r[a] || [], r[a].push(e)
- }), r.map(function (e) {
- return {
- events: e.map(function (e) {
- var t = G({}, n.evtParams, e.params);
- return delete t.__disable_storage__, G({}, e, {params: JSON.stringify(t)})
- }),
- user: t.user,
- header: t.header,
- verbose: n.debugMode ? 1 : void 0,
- __disable_storage__: e[0].params.__disable_storage__
- }
- })
- }, n.mergeEnv = function () {
- var e = n.get(), t = K.get(), r = G({}, e.user),
- a = G({}, t.header.headers.custom, e.header.headers.custom),
- i = G({}, t.header.headers, e.header.headers, {custom: a}), o = G({}, t.header, e.header);
- return {user: r, header: G({}, o, {headers: JSON.stringify(i)})}
- }, n.evtParams = {}, n.reportUrl = "", n.userTokensPrefix = "", n.isSsidDisabled = !1, n.isWebidDisabled = !1, n.isSdkMonitorDisabled = !1, n.debugMode = !1, n.blackUuid = ["null", "undefined", "0", "", "None"], n.logger = function () {
- }, n
- }
- return function (e, t) {
- if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (void 0 === t ? "undefined" : r(t)));
- e.prototype = Object.create(t && t.prototype, {
- constructor: {
- value: e,
- enumerable: !1,
- writable: !0,
- configurable: !0
- }
- }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
- }(t, e), t.prototype.lock = function () {
- this.isUserTokensReady = !1
- }, t.prototype.unlock = function () {
- this.isUserTokensReady = !0
- }, t.prototype.enableDebugMode = function (e) {
- this.debugMode = e
- }, t
- }(o);
- var ne = function e() {
- var t = this;
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.set = function (e, n) {
- t.cache[e] = n
- }, this.get = function (e) {
- return t.cache[e]
- }, this.clean = function (e) {
- t.cache[e] = void 0
- }, this.cache = {}
- }, re = new ne;
- var ae = function () {
- function e(t) {
- var n = t.disable_storage, r = void 0 !== n && n;
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this._isPersistent = !r, this._storage = this._isPersistent ? D : new ne, this._storageKey = "", this._data = void 0
- }
- return e.prototype.setStorageKey = function (e) {
- this._storageKey = e
- }, e.prototype.getAllEvents = function () {
- var e = this.getData();
- Object.keys(e).reduce(function (t, n) {
- return t.concat(e[n] || [])
- }, [])
- }, e.prototype.getData = function () {
- return this._checkIsDataInit(), this._data
- }, e.prototype.add = function (e) {
- var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];
- this._checkIsDataInit(), 0 !== t.length && (this._data[e] = t, this._save())
- }, e.prototype.delete = function (e) {
- this._checkIsDataInit(), this._data[e] && (delete this._data[e], this._save())
- }, e.prototype._checkIsDataInit = function () {
- if (void 0 === this._data) try {
- var e, t = this._getDataFromStorage();
- if (X.isArray(t)) this._data = ((e = {})[Q()] = t, e), this._save(); else this._data = t
- } catch (e) {
- this._data = {}
- }
- }, e.prototype._checkStorageKey = function () {
- if (!this._storageKey) throw new Error("must call setStorageKey('xxx') first")
- }, e.prototype._getDataFromStorage = function () {
- return this._checkStorageKey(), this._storage.get(this._storageKey) || {}
- }, e.prototype._save = function () {
- this._checkStorageKey(), this._storage.set(this._storageKey, this._data)
- }, e
- }(), ie = function (e, t) {
- try {
- var n = e.split("v1")[0];
- t.forEach(function (e) {
- var t = function (e) {
- var t = "";
- for (var n in e) e.hasOwnProperty(n) && (t += "&" + n + "=" + encodeURIComponent(JSON.stringify(e[n])));
- return t = "&" === t[0] ? t.slice(1) : t
- }(e), r = new Image(1, 1);
- r.onload = function () {
- r = null
- }, r.onerror = function () {
- r = null
- }, r.src = n + "/v1/gif?" + t
- })
- } catch (e) {
- }
- }, oe = function (e, t) {
- if (window.XDomainRequest) return ie(e, t);
- var n = new XMLHttpRequest;
- n.open("POST", e + "?rdn=" + Math.random(), !0), n.onload = function () {
- }, n.onerror = function () {
- n.abort()
- }, n.send(JSON.stringify(t))
- }, le = function e(t, n, r, a) {
- try {
- var i = t.split("v1")[0];
- if (!i) return void a(t, n, R);
- n.forEach(function (e) {
- var o = function (e) {
- var t = "";
- for (var n in e) e.hasOwnProperty(n) && (t += "&" + n + "=" + encodeURIComponent(JSON.stringify(e[n])));
- return t = "&" === t[0] ? t.slice(1) : t
- }(e), l = new Image(1, 1);
- l.onload = function () {
- l = null, r()
- }, l.onerror = function () {
- l = null, a(t, n, z)
- }, l.src = i + "/v1/gif?" + o
- })
- } catch (e) {
- a(t, n, A, e.message)
- }
- };
- var se = function e(t) {
- var n = this;
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.send = function (e) {
- var t = e.url, r = e.data, a = e.success, i = e.fail, o = e.eventError;
- if (function (e) {
- var t = e.url, n = e.data, r = e.success, a = e.fail, i = e.notSure, o = e.isUnload, l = n;
- if (window.XDomainRequest) le(t, l, r, a); else {
- if (o) return window.navigator && window.navigator.sendBeacon ? (i(), void(window.navigator.sendBeacon(t, JSON.stringify(l)) ? r() : a(t, n, j))) : void le(t, l, r, a);
- var s = new XMLHttpRequest;
- s.open("POST", t + "?rdn=" + Math.random(), !0), s.onload = function () {
- r(t, l, s.responseText)
- }, s.onerror = function () {
- s.abort(), a(t, l, I)
- }, s.send(JSON.stringify(l))
- }
- }({
- url: t, data: r, success: function (e, t, r) {
- a();
- try {
- var i = JSON.parse(r).e;
- if (0 !== i) {
- var l = "未知错误";
- -2 === i && (l = "事件格式错误!请检查字段类型是否正确。"), n.logger.error("数据上报失败!", "错误码:" + i + "。错误信息:" + l), o(t, i), ce(e, t, i)
- }
- } catch (n) {
- ce(e, t, B)
- }
- }, fail: function (e, t, r) {
- n.logger.error("数据上报失败!", "错误码:" + r), i(t, r), ce(e, t, r)
- }, notSure: e.notSure, isUnload: e.isUnload
- }), !n.isSdkMonitorDisabled && !n.isSdkOnLoadEventReady) {
- n.isSdkOnLoadEventReady = !0;
- try {
- var l = r[0].header, s = r[0].user;
- ue(t, {app_id: l.app_id, app_name: l.app_name, sdk_version: l.sdk_version, web_id: s.web_id})
- } catch (e) {
- }
- }
- }, this.logger = t.logger || F, this.isSdkOnLoadEventReady = !1, this.isSdkMonitorDisabled = !1
- }, ue = function (e, t) {
- try {
- var n = {
- events: [{
- event: "onload",
- params: JSON.stringify({
- app_id: t.app_id,
- app_name: t.app_name || "",
- sdk_version: t.sdk_version
- }),
- local_time_ms: Date.now()
- }], user: {user_unique_id: t.web_id}, header: {app_id: 1338}
- };
- setTimeout(function () {
- oe(e, [n])
- }, 16)
- } catch (e) {
- }
- }, ce = function (e, t, n) {
- try {
- var r = t[0].user, a = t[0].header, i = [];
- t.forEach(function (e) {
- e.events.forEach(function (e) {
- i.push(e)
- })
- });
- var o = {
- events: i.map(function (e) {
- return {
- event: "on_error",
- params: JSON.stringify({
- error_code: n,
- app_id: a.app_id,
- app_name: a.app_name || "",
- error_event: e.event,
- local_time_ms: e.local_time_ms,
- tea_event_index: Date.now(),
- params: e.params,
- header: JSON.stringify(a),
- user: JSON.stringify(r)
- }),
- local_time_ms: Date.now()
- }
- }), user: {user_unique_id: r.user_unique_id}, header: {app_id: 1338}
- };
- setTimeout(function () {
- oe(e, [o])
- }, 16)
- } catch (e) {
- }
- };
- var pe = function (e) {
- function t(n) {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, t);
- var a = function (e, t) {
- if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- return !t || "object" !== (void 0 === t ? "undefined" : r(t)) && "function" != typeof t ? e : t
- }(this, e.call(this));
- a.addListener = function () {
- window.addEventListener("unload", function () {
- a.report(!0)
- }, !1), window.addEventListener("beforeunload", function () {
- a.report(!0)
- }, !1), document.addEventListener("visibilitychange", function () {
- "hidden" === document.visibilityState && a.report(!0)
- }, !1)
- }, a.setReady = function (e) {
- a.isReady = e, a.eventSender.isSdkMonitorDisabled = a.isSdkMonitorDisabled, a.checkAndSendCachedStorageEvents(), a.report()
- }, a.eventReportTimer = null, a.event = function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],
- t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
- n = re.get(a.evtDataCacheKey) || [], r = t ? [].concat(e, n) : [].concat(n, e);
- re.set(a.evtDataCacheKey, r), r.length >= 5 ? a.report() : (a.eventReportTimer && clearTimeout(a.eventReportTimer), a.eventReportTimer = setTimeout(function () {
- a.report(), a.eventReportTimer = null
- }, a.waitForBatchTime))
- }, a.report = function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
- if (!a.isUserTokensReady) return !1;
- if (!a.isReady) return !1;
- var t = re.get(a.evtDataCacheKey) || [];
- re.clean(a.evtDataCacheKey);
- var n = a.mergeEnvToEvents(t);
- a.sendData(n, e)
- }, a.sendData = function (e, t) {
- var n = [], r = 0, i = void 0;
- e.forEach(function (e) {
- var t = !!e.__disable_storage__;
- void 0 === i ? i = t : (t !== i || n[r].length >= 5) && (r += 1, i = !i), n[r] = n[r] || [], n[r].push(e)
- }), n.forEach(function (e) {
- var n = Q();
- e[0].__disable_storage__ || a.eventStorage.add(n, e), a._sendData(n, e, t)
- })
- }, a.checkAndSendCachedStorageEvents = function () {
- var e = a.eventStorage.getData(), t = Object.keys(e);
- t.length > 0 && t.forEach(function (t) {
- a._sendData(t, e[t])
- })
- }, a._sendData = function (e, t, n) {
- a.isReporting = !0;
- var r = function () {
- a.isReporting = !1
- };
- a.eventSender.send({
- url: a.reportUrl, data: t, success: function () {
- r(), a.sendDataSuccess(e)
- }, fail: function (e, t) {
- r(), a.reportErrorCallback(e, t), setTimeout(function () {
- a.report()
- }, 3e3)
- }, eventError: function (e, t) {
- a.reportErrorCallback(e, t)
- }, notSure: r, isUnload: n
- })
- }, a.sendDataSuccess = function (e) {
- a.eventStorage.delete(e), a.report()
- };
- var i = n.log, o = n.disable_storage, l = n.max_batch_num, s = void 0 === l ? 5 : l, u = n.batch_time,
- c = void 0 === u ? 30 : u;
- return a.init(n), a.maxBatchNum = s, a.waitForBatchTime = c, a.isReady = !1, a.addListener(), a.enableDebugMode(!!i), a.eventStorage = new ae({disable_storage: o}), a.eventStorage.setStorageKey(a.evtDataCacheKey), a.eventSender = new se({logger: a.logger}), a.reportErrorCallback = function () {
- }, a
- }
- return function (e, t) {
- if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (void 0 === t ? "undefined" : r(t)));
- e.prototype = Object.create(t && t.prototype, {
- constructor: {
- value: e,
- enumerable: !1,
- writable: !0,
- configurable: !0
- }
- }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
- }(t, e), t
- }(te), de = Object.assign || function (e) {
- for (var t = 1; t < arguments.length; t++) {
- var n = arguments[t];
- for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
- }
- return e
- };
- var fe = function () {
- var e = +Date.now() + Number(("" + Math.random()).slice(2, 8));
- return function () {
- return e += 1
- }
- }(), ge = function e(t) {
- var n = this;
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.init = function (e) {
- if (!X.isObj(e)) throw new Error("init 的参数必须是Object类型");
- n.logger.init(e.log), n.channel = new pe(de({}, e, {name: n.name})), n.channel.callback = function () {
- n.callbackSend && n.start()
- }
- }, this.config = function (e) {
- X.isObj(e) || n.logger.throw("config 参数必须是 {} 的格式"), e.log && (n.logger.init(!0), n.channel.enableDebugMode(!0), e.log = null);
- var t = Object.keys(e);
- if (!t.length) return !1;
- var r = t, a = Array.isArray(r), i = 0;
- for (r = a ? r : r[Symbol.iterator](); ;) {
- var o;
- if (a) {
- if (i >= r.length) break;
- o = r[i++]
- } else {
- if ((i = r.next()).done) break;
- o = i.value
- }
- var l = o, s = e[l];
- switch (l) {
- case"evtParams":
- n.channel.setEvtParams(s);
- break;
- case"disable_ssid":
- n.logger.deprecated("(disable_ssid)请通过init函数来设置。"), s && (n.logger.info("ssid已禁用,设置user_unique_id不会请求ssid接口。"), n.channel.isSsidDisabled = s);
- break;
- case"disable_auto_pv":
- s && (n.logger.info("已禁止默认上报predefine_pageview事件,需手动上报。"), n._autoSendPV = !1);
- break;
- case"_staging_flag":
- "" + s == "1" && n.logger.info("根据_staging_flag设置,数据将会上报到stag 表。"), n.channel.setEvtParams({_staging_flag: Number(s)});
- break;
- case"reportErrorCallback":
- "function" == typeof s && (n.channel.reportErrorCallback = s);
- break;
- default:
- n.channel.setEnv(l, s)
- }
- }
- }, this.send = function () {
- n.start()
- }, this.start = function () {
- if (n.channel.isUserTokensReady) {
- if (n._isSendFuncCalled) return;
- n._isSendFuncCalled = !0, n.logger.info("看到本提示,意味着用户信息已完全就绪,上报通道打开。用户标识如下:"), n.logger.logJSON(n.channel.get().user), n._autoSendPV && n.predefinePageView(), n.channel.setReady(!0)
- } else n.callbackSend = !0
- }, this.predefinePageView = function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
- t = {title: document.title || location.pathname, url: location.href, url_path: location.pathname},
- r = de({}, t, e);
- n.event("predefine_pageview", r, !0)
- }, this.event = function () {
- for (var e = arguments.length, t = Array(e), r = 0; r < e; r++) t[r] = arguments[r];
- var a = X.isBoolean(t[t.length - 1]), i = !!a && t[t.length - 1], o = a ? t.slice(0, t.length - 1) : t,
- l = o[0], s = [];
- X.isArray(l) ? s = o : s[0] = o, s = s.map(function (e) {
- return function (e, t) {
- var n = e;
- /^event\./.test(e) && (n = e.slice(6));
- var r = t;
- return X.isObj(r) || (r = {}), r.event_index = fe(), {
- event: n,
- params: r,
- local_time_ms: +new Date
- }
- }.apply(void 0, e)
- }), n.channel.event(s, i)
- }, this._isSendFuncCalled = !1, this._autoSendPV = !0, this.name = t, this.logger = new q(t)
- };
- ge.exportMethods = ["init", "config", "send", "start", "predefinePageView"];
- t.default = function e(t) {
- var n = this;
- return function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this._exportCollect = function () {
- for (var e = arguments.length, t = Array(e), r = 0; r < e; r++) t[r] = arguments[r];
- n._isQueueProcessed ? n._executeCmd.apply(n, t) : (n.cmdQueue.push(t), n._processCmdQueue())
- }, this._processCmdQueue = function () {
- if (0 !== n.cmdQueue.length) {
- var e, t, r, a, i = (e = n.cmdQueue, t = "init", r = "0", a = -1, e.forEach(function (e, n) {
- (void 0 !== r ? e[r] : e) === t && (a = n)
- }), a);
- -1 !== i && (n._isQueueProcessed = !0, n._executeCmd.apply(n, n.cmdQueue[i]), n.cmdQueue.forEach(function (e, t) {
- t !== i && n._executeCmd.apply(n, e)
- }), n.cmdQueue = [])
- }
- }, this._executeCmd = function () {
- for (var e = arguments.length, t = Array(e), r = 0; r < e; r++) t[r] = arguments[r];
- var a, i, o = t[0];
- ge.exportMethods.indexOf(o) > -1 ? (a = n.colloctor)[o].apply(a, t.slice(1)) : (i = n.colloctor).event.apply(i, t)
- }, this.name = t || "Collector" + +new Date, this.cmdQueue = [], this.colloctor = new ge(this.name), this._isQueueProcessed = !1, this._processCmdQueue(), this._exportCollect.init = this._exportCollect.bind(this, "init"), this._exportCollect.config = this._exportCollect.bind(this, "config"), this._exportCollect.send = this._exportCollect.bind(this, "send"), this._exportCollect.start = this._exportCollect.bind(this, "start"), this._exportCollect.predefinePageView = this._exportCollect.bind(this, "predefinePageView"), this._exportCollect
- }, e.exports = t.default
- }, function (e, t, n) {
- e.exports = n(8)
- }, function (e, t, n) {
- "use strict";
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = _(n(0)), a = _(n(34)), i = _(n(35)), o = _(n(36)), l = _(n(37)), s = _(n(38)), u = _(n(39)),
- c = _(n(40)),
- p = _(n(41)), d = _(n(42)), f = _(n(43)), g = _(n(44)), h = _(n(45)), y = _(n(46)), x = _(n(47)),
- m = _(n(48)),
- v = _(n(49)), b = _(n(50)), k = _(n(51)), w = _(n(6));
- _(n(52));
- function _(e) {
- return e && e.__esModule ? e : {default: e}
- }
- var E = {};
- function C(e, t, n) {
- var r = e;
- t.map(function (e, a) {
- r[e] = a == t.length - 1 ? n : r[e] || {}, r = r[e]
- })
- }
- C(E, ["controls", "collect"], w.default), C(E, ["controls", "cssFullscreen"], k.default), C(E, ["controls", "danmu"], b.default), C(E, ["controls", "definition"], v.default), C(E, ["controls", "download"], m.default), C(E, ["controls", "fullscreen"], x.default), C(E, ["controls", "i18n"], y.default), C(E, ["controls", "localPreview"], h.default), C(E, ["controls", "logger"], g.default), C(E, ["controls", "mobile"], f.default), C(E, ["controls", "pc"], d.default), C(E, ["controls", "pip"], p.default), C(E, ["controls", "play"], c.default), C(E, ["controls", "playNext"], u.default), C(E, ["controls", "replay"], s.default), C(E, ["controls", "rotate"], l.default), C(E, ["controls", "screenShot"], o.default), C(E, ["controls", "start"], i.default), C(E, ["controls", "volume"], a.default), t.default = r.default, e.exports = t.default
- }, function (e, t, n) {
- "use strict";
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = function () {
- function e(e, t) {
- for (var n = 0; n < t.length; n++) {
- var r = t[n];
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
- }
- }
- return function (t, n, r) {
- return n && e(t.prototype, n), r && e(t, r), t
- }
- }(), a = l(n(10)), i = l(n(2)), o = l(n(3));
- function l(e) {
- return e && e.__esModule ? e : {default: e}
- }
- var s = function () {
- function e(t) {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.logParams = {
- bc: 0,
- bu_acu_t: 0,
- played: []
- }, this._hasStart = !1, this.videoConfig = {
- controls: !1,
- autoplay: t.autoplay,
- playsinline: t.playsinline,
- "webkit-playsinline": t.playsinline,
- "x5-playsinline": t.playsinline,
- "x5-video-player-type": t["x5-video-player-type"],
- "x5-video-player-fullscreen": t["x5-video-player-fullscreen"],
- "x5-video-orientation": t["x5-video-orientation"],
- airplay: t.airplay,
- "webkit-airplay": t.airplay,
- tabindex: 2,
- mediaType: t.mediaType || "video"
- }, t.loop && (this.videoConfig.loop = "loop");
- var n = "";
- if (t.textTrack && Array.isArray(t.textTrack) && (navigator.userAgent.indexOf("Chrome") > -1 || navigator.userAgent.indexOf("Firefox") > -1) && (t.textTrack.some(function (e) {
- if (e.src && e.label && e.default) return n += '<track src="' + e.src + '" ', e.kind && (n += 'kind="' + e.kind + '" '), n += 'label="' + e.label + '" ', e.srclang && (n += 'srclang="' + e.srclang + '" '), n += (e.default ? "default" : "") + ">", !0
- }), this.videoConfig.crossorigin = "anonymous"), t.textTrackStyle) {
- var r = document.createElement("style");
- this.textTrackStyle = r, document.head.appendChild(r);
- var l = "";
- for (var s in t.textTrackStyle) l += s + ": " + t.textTrackStyle[s] + ";";
- var u = t.id ? "#" + t.id : t.el.id ? "#" + t.el.id : "." + t.el.className;
- r.sheet.insertRule ? r.sheet.insertRule(u + " video::cue { " + l + " }", 0) : r.sheet.addRule && r.sheet.addRule(u + " video::cue", l)
- }
- this.video = i.default.createDom(this.videoConfig.mediaType, n, this.videoConfig, ""), t.autoplay && (this.video.autoplay = !0, t.autoplayMuted && (this.video.muted = !0)), this.ev = ["play", "playing", "pause", "ended", "error", "seeking", "seeked", "timeupdate", "waiting", "canplay", "canplaythrough", "durationchange", "volumechange", "loadeddata"].map(function (e) {
- return t = {}, n = e, r = "on" + e.charAt(0).toUpperCase() + e.slice(1), n in t ? Object.defineProperty(t, n, {
- value: r,
- enumerable: !0,
- configurable: !0,
- writable: !0
- }) : t[n] = r, t;
- var t, n, r
- }), (0, a.default)(this), this._interval = {};
- var c = "0,0", p = this;
- this.ev.forEach(function (e) {
- p.evItem = Object.keys(e)[0];
- var t = Object.keys(e)[0];
- p.video.addEventListener(Object.keys(e)[0], function () {
- p.logParams && ("play" === t ? p.hasStart = !0 : "waiting" === t ? (p.logParams.bc++, p.inWaitingStart = (new Date).getTime()) : "playing" === t ? p.inWaitingStart && (p.logParams.bu_acu_t += (new Date).getTime() - p.inWaitingStart, p.inWaitingStart = void 0) : "loadeddata" === t ? p.logParams.played.push({
- begin: 0,
- end: -1
- }) : "seeking" === t ? p.logParams.played.push({
- begin: p.video.currentTime,
- end: -1
- }) : p && p.logParams && p.logParams.played && "timeupdate" === t && (p.logParams.played.length < 1 && p.logParams.played.push({
- begin: p.video.currentTime,
- end: -1
- }), p.logParams.played[p.logParams.played.length - 1].end = p.video.currentTime), "error" === t ? p.video.error && p.emit(t, new o.default("other", p.currentTime, p.duration, p.networkState, p.readyState, p.currentSrc, p.src, p.ended, {
- line: 41,
- msg: p.error,
- handle: "Constructor"
- })) : p.emit(t, p), p.hasOwnProperty("_interval") && (["ended", "error", "timeupdate"].indexOf(t) < 0 ? (clearInterval(p._interval.bufferedChange), i.default.setInterval(p, "bufferedChange", function () {
- for (var e = [], t = 0, n = p.video.buffered.length; t < n; t++) e.push([p.video.buffered.start(t), p.video.buffered.end(t)]);
- e.toString() !== c && (c = e.toString(), p.emit("bufferedChange", e))
- }, 200)) : "timeupdate" !== t && i.default.clearInterval(p, "bufferedChange")))
- }, !1)
- })
- }
- return r(e, [{
- key: "destroy", value: function () {
- this.textTrackStyle && this.textTrackStyle.parentNode.removeChild(this.textTrackStyle)
- }
- }, {
- key: "play", value: function () {
- this.video.play()
- }
- }, {
- key: "pause", value: function () {
- this.video.pause()
- }
- }, {
- key: "canPlayType", value: function () {
- this.video.canPlayType()
- }
- }, {
- key: "getBufferedRange", value: function () {
- var e = [0, 0], t = this.video, n = t.buffered, r = t.currentTime;
- if (n) for (var a = 0, i = n.length; a < i && (e[0] = n.start(a), e[1] = n.end(a), !(e[0] <= r && r <= e[1])); a++) ;
- return e[0] - r <= 0 && r - e[1] <= 0 ? e : [0, 0]
- }
- }, {
- key: "hasStart", get: function () {
- return this._hasStart
- }, set: function (e) {
- "boolean" != typeof e || !0 !== e || this._hasStart || (this._hasStart = !0, this.emit("hasstart"))
- }
- }, {
- key: "autoplay", set: function (e) {
- this.video.autoplay = e
- }, get: function () {
- return this.video.autoplay
- }
- }, {
- key: "buffered", get: function () {
- return this.video.buffered
- }
- }, {
- key: "crossOrigin", get: function () {
- return this.video.crossOrigin
- }, set: function (e) {
- this.video.crossOrigin = e
- }
- }, {
- key: "currentSrc", get: function () {
- return this.video.currentSrc
- }, set: function (e) {
- this.video.currentSrc = e
- }
- }, {
- key: "currentTime", get: function () {
- return this.video.currentTime
- }, set: function (e) {
- this.video.currentTime = e
- }
- }, {
- key: "defaultMuted", get: function () {
- return this.video.defaultMuted
- }, set: function (e) {
- this.video.defaultMuted = e
- }
- }, {
- key: "duration", get: function () {
- return this.video.duration
- }
- }, {
- key: "ended", get: function () {
- return this.video.ended
- }
- }, {
- key: "error", get: function () {
- var e = this.video.error;
- if (!e) return null;
- var t = [{en: "MEDIA_ERR_ABORTED", cn: "取回过程被用户中止"}, {
- en: "MEDIA_ERR_NETWORK",
- cn: "当下载时发生错误"
- }, {en: "MEDIA_ERR_DECODE", cn: "当解码时发生错误"}, {en: "MEDIA_ERR_SRC_NOT_SUPPORTED", cn: "不支持音频/视频"}];
- return this.lang ? this.lang[t[e.code - 1].en] : t[e.code - 1].en
- }
- }, {
- key: "loop", get: function () {
- return this.video.loop
- }, set: function (e) {
- this.video.loop = e
- }
- }, {
- key: "muted", get: function () {
- return this.video.muted
- }, set: function (e) {
- this.video.muted = e
- }
- }, {
- key: "networkState", get: function () {
- var e = [{en: "NETWORK_EMPTY", cn: "音频/视频尚未初始化"}, {
- en: "NETWORK_IDLE",
- cn: "音频/视频是活动的且已选取资源,但并未使用网络"
- }, {en: "NETWORK_LOADING", cn: "浏览器正在下载数据"}, {en: "NETWORK_NO_SOURCE", cn: "未找到音频/视频来源"}];
- return this.lang ? this.lang[e[this.video.networkState].en] : e[this.video.networkState].en
- }
- }, {
- key: "paused", get: function () {
- return this.video.paused
- }
- }, {
- key: "playbackRate", get: function () {
- return this.video.playbackRate
- }, set: function (e) {
- this.video.playbackRate = e
- }
- }, {
- key: "played", get: function () {
- return this.video.played
- }
- }, {
- key: "preload", get: function () {
- return this.video.preload
- }, set: function (e) {
- this.video.preload = e
- }
- }, {
- key: "readyState", get: function () {
- var e = [{en: "HAVE_NOTHING", cn: "没有关于音频/视频是否就绪的信息"}, {
- en: "HAVE_METADATA",
- cn: "关于音频/视频就绪的元数据"
- }, {en: "HAVE_CURRENT_DATA", cn: "关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒"}, {
- en: "HAVE_FUTURE_DATA",
- cn: "当前及至少下一帧的数据是可用的"
- }, {en: "HAVE_ENOUGH_DATA", cn: "可用数据足以开始播放"}];
- return this.lang ? this.lang[e[this.video.readyState].en] : e[this.video.readyState]
- }
- }, {
- key: "seekable", get: function () {
- return this.video.seekable
- }
- }, {
- key: "seeking", get: function () {
- return this.video.seeking
- }
- }, {
- key: "src", get: function () {
- return this.video.src
- }, set: function (e) {
- var t = this;
- i.default.hasClass(this.root, "xgplayer-ended") || this.emit("urlchange", JSON.parse(JSON.stringify(t.logParams))), this.logParams = {
- bc: 0,
- bu_acu_t: 0,
- played: [],
- pt: (new Date).getTime(),
- vt: (new Date).getTime(),
- vd: 0
- }, this.video.pause(), this.video.src = e, this.logParams.playSrc = e, this.logParams.pt = (new Date).getTime(), this.logParams.vt = this.logParams.pt, this.once("loadeddata", function e() {
- t.logParams.vt = (new Date).getTime(), t.logParams.pt > t.logParams.vt && (t.logParams.pt = t.logParams.vt), t.logParams.vd = t.video.duration, t.off("loadeddata", e)
- })
- }
- }, {
- key: "volume", get: function () {
- return this.video.volume
- }, set: function (e) {
- this.video.volume = e
- }
- }, {
- key: "fullscreen", get: function () {
- return i.default.hasClass(this.root, "xgplayer-is-fullscreen") || i.default.hasClass(this.root, "xgplayer-fullscreen-active")
- }
- }, {
- key: "bullet", get: function () {
- return !!i.default.findDom(this.root, "xg-bullet") && i.default.hasClass(i.default.findDom(this.root, "xg-bullet"), "xgplayer-has-bullet")
- }
- }, {
- key: "textTrack", get: function () {
- return i.default.hasClass(this.root, "xgplayer-is-textTrack")
- }
- }, {
- key: "pip", get: function () {
- return i.default.hasClass(this.root, "xgplayer-pip-active")
- }
- }]), e
- }();
- t.default = s, e.exports = t.default
- }, function (e, t, n) {
- "use strict";
- var r, a, i, o, l, s, u, c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
- return typeof e
- } : function (e) {
- return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
- }, p = n(11), d = n(25), f = Function.prototype.apply, g = Function.prototype.call, h = Object.create,
- y = Object.defineProperty, x = Object.defineProperties, m = Object.prototype.hasOwnProperty,
- v = {configurable: !0, enumerable: !1, writable: !0};
- a = function (e, t) {
- var n, a;
- return d(t), a = this, r.call(this, e, n = function () {
- i.call(a, e, n), f.call(t, this, arguments)
- }), n.__eeOnceListener__ = t, this
- }, l = {
- on: r = function (e, t) {
- var n;
- return d(t), m.call(this, "__ee__") ? n = this.__ee__ : (n = v.value = h(null), y(this, "__ee__", v), v.value = null), n[e] ? "object" === c(n[e]) ? n[e].push(t) : n[e] = [n[e], t] : n[e] = t, this
- }, once: a, off: i = function (e, t) {
- var n, r, a, i;
- if (d(t), !m.call(this, "__ee__")) return this;
- if (!(n = this.__ee__)[e]) return this;
- if ("object" === (void 0 === (r = n[e]) ? "undefined" : c(r))) for (i = 0; a = r[i]; ++i) a !== t && a.__eeOnceListener__ !== t || (2 === r.length ? n[e] = r[i ? 0 : 1] : r.splice(i, 1)); else r !== t && r.__eeOnceListener__ !== t || delete n[e];
- return this
- }, emit: o = function (e) {
- var t, n, r, a, i;
- if (m.call(this, "__ee__") && (a = this.__ee__[e])) if ("object" === (void 0 === a ? "undefined" : c(a))) {
- for (n = arguments.length, i = new Array(n - 1), t = 1; t < n; ++t) i[t - 1] = arguments[t];
- for (a = a.slice(), t = 0; r = a[t]; ++t) f.call(r, this, i)
- } else switch (arguments.length) {
- case 1:
- g.call(a, this);
- break;
- case 2:
- g.call(a, this, arguments[1]);
- break;
- case 3:
- g.call(a, this, arguments[1], arguments[2]);
- break;
- default:
- for (n = arguments.length, i = new Array(n - 1), t = 1; t < n; ++t) i[t - 1] = arguments[t];
- f.call(a, this, i)
- }
- }
- }, s = {on: p(r), once: p(a), off: p(i), emit: p(o)}, u = x({}, s), e.exports = t = function (e) {
- return null == e ? h(u) : x(Object(e), s)
- }, t.methods = l
- }, function (e, t, n) {
- "use strict";
- var r = n(12), a = n(20), i = n(21), o = n(22);
- (e.exports = function (e, t) {
- var n, i, l, s, u;
- return arguments.length < 2 || "string" != typeof e ? (s = t, t = e, e = null) : s = arguments[2], null == e ? (n = l = !0, i = !1) : (n = o.call(e, "c"), i = o.call(e, "e"), l = o.call(e, "w")), u = {
- value: t,
- configurable: n,
- enumerable: i,
- writable: l
- }, s ? r(a(s), u) : u
- }).gs = function (e, t, n) {
- var l, s, u, c;
- return "string" != typeof e ? (u = n, n = t, t = e, e = null) : u = arguments[3], null == t ? t = void 0 : i(t) ? null == n ? n = void 0 : i(n) || (u = n, n = void 0) : (u = t, t = n = void 0), null == e ? (l = !0, s = !1) : (l = o.call(e, "c"), s = o.call(e, "e")), c = {
- get: t,
- set: n,
- configurable: l,
- enumerable: s
- }, u ? r(a(u), c) : c
- }
- }, function (e, t, n) {
- "use strict";
- e.exports = n(13)() ? Object.assign : n(14)
- }, function (e, t, n) {
- "use strict";
- e.exports = function () {
- var e, t = Object.assign;
- return "function" == typeof t && (t(e = {foo: "raz"}, {bar: "dwa"}, {trzy: "trzy"}), e.foo + e.bar + e.trzy === "razdwatrzy")
- }
- }, function (e, t, n) {
- "use strict";
- var r = n(15), a = n(19), i = Math.max;
- e.exports = function (e, t) {
- var n, o, l, s = i(arguments.length, 2);
- for (e = Object(a(e)), l = function (r) {
- try {
- e[r] = t[r]
- } catch (e) {
- n || (n = e)
- }
- }, o = 1; o < s; ++o) t = arguments[o], r(t).forEach(l);
- if (void 0 !== n) throw n;
- return e
- }
- }, function (e, t, n) {
- "use strict";
- e.exports = n(16)() ? Object.keys : n(17)
- }, function (e, t, n) {
- "use strict";
- e.exports = function () {
- try {
- return Object.keys("primitive"), !0
- } catch (e) {
- return !1
- }
- }
- }, function (e, t, n) {
- "use strict";
- var r = n(1), a = Object.keys;
- e.exports = function (e) {
- return a(r(e) ? Object(e) : e)
- }
- }, function (e, t, n) {
- "use strict";
- e.exports = function () {
- }
- }, function (e, t, n) {
- "use strict";
- var r = n(1);
- e.exports = function (e) {
- if (!r(e)) throw new TypeError("Cannot use null or undefined");
- return e
- }
- }, function (e, t, n) {
- "use strict";
- var r = n(1), a = Array.prototype.forEach, i = Object.create;
- e.exports = function (e) {
- var t = i(null);
- return a.call(arguments, function (e) {
- r(e) && function (e, t) {
- var n;
- for (n in e) t[n] = e[n]
- }(Object(e), t)
- }), t
- }
- }, function (e, t, n) {
- "use strict";
- e.exports = function (e) {
- return "function" == typeof e
- }
- }, function (e, t, n) {
- "use strict";
- e.exports = n(23)() ? String.prototype.contains : n(24)
- }, function (e, t, n) {
- "use strict";
- var r = "razdwatrzy";
- e.exports = function () {
- return "function" == typeof r.contains && (!0 === r.contains("dwa") && !1 === r.contains("foo"))
- }
- }, function (e, t, n) {
- "use strict";
- var r = String.prototype.indexOf;
- e.exports = function (e) {
- return r.call(this, e, arguments[1]) > -1
- }
- }, function (e, t, n) {
- "use strict";
- e.exports = function (e) {
- if ("function" != typeof e) throw new TypeError(e + " is not a function");
- return e
- }
- }, function (e, t, n) {
- "use strict";
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = function () {
- function e(e, t) {
- for (var n = 0; n < t.length; n++) {
- var r = t[n];
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
- }
- }
- return function (t, n, r) {
- return n && e(t.prototype, n), r && e(t, r), t
- }
- }();
- var a = function () {
- function e() {
- var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {
- name: "xgplayer",
- version: 1,
- db: null,
- ojstore: {name: "xg-m4a", keypath: "vid"}
- };
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.indexedDB = window.indexedDB || window.webkitindexedDB, this.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange, this.myDB = t
- }
- return r(e, [{
- key: "openDB", value: function (e) {
- var t = this, n = this, r = this.myDB.version || 1, a = n.indexedDB.open(n.myDB.name, r);
- a.onerror = function (e) {
- }, a.onsuccess = function (r) {
- t.myDB.db = r.target.result, e.call(n)
- }, a.onupgradeneeded = function (e) {
- var t = e.target.result;
- e.target.transaction;
- t.objectStoreNames.contains(n.myDB.ojstore.name) || t.createObjectStore(n.myDB.ojstore.name, {keyPath: n.myDB.ojstore.keypath})
- }
- }
- }, {
- key: "deletedb", value: function () {
- this.indexedDB.deleteDatabase(this.myDB.name)
- }
- }, {
- key: "closeDB", value: function () {
- this.myDB.db.close()
- }
- }, {
- key: "addData", value: function (e, t) {
- for (var n = this.myDB.db.transaction(e, "readwrite").objectStore(e), r = void 0, a = 0; a < t.length; a++) (r = n.add(t[a])).onerror = function () {
- }, r.onsuccess = function () {
- }
- }
- }, {
- key: "putData", value: function (e, t) {
- for (var n = this.myDB.db.transaction(e, "readwrite").objectStore(e), r = void 0, a = 0; a < t.length; a++) (r = n.put(t[a])).onerror = function () {
- }, r.onsuccess = function () {
- }
- }
- }, {
- key: "getDataByKey", value: function (e, t, n) {
- var r = this, a = this.myDB.db.transaction(e, "readwrite").objectStore(e).get(t);
- a.onerror = function () {
- n.call(r, null)
- }, a.onsuccess = function (e) {
- var t = e.target.result;
- n.call(r, t)
- }
- }
- }, {
- key: "deleteData", value: function (e, t) {
- this.myDB.db.transaction(e, "readwrite").objectStore(e).delete(t)
- }
- }, {
- key: "clearData", value: function (e) {
- this.myDB.db.transaction(e, "readwrite").objectStore(e).clear()
- }
- }]), e
- }();
- t.default = a, e.exports = t.default
- }, function (e, t, n) {
- "use strict";
- var r, a;
- "function" == typeof Symbol && Symbol.iterator;
- /*!
- * Draggabilly v2.2.0
- * Make that shiz draggable
- * https://draggabilly.desandro.com
- * MIT license
- */
- !function (i, o) {
- r = [n(28), n(29)], void 0 === (a = function (e, t) {
- return function (e, t, n) {
- function r(e, t) {
- for (var n in t) e[n] = t[n];
- return e
- }
- var a = e.jQuery;
- function i(e, t) {
- this.element = "string" == typeof e ? document.querySelector(e) : e, a && (this.$element = a(this.element)), this.options = r({}, this.constructor.defaults), this.option(t), this._create()
- }
- var o = i.prototype = Object.create(n.prototype);
- i.defaults = {}, o.option = function (e) {
- r(this.options, e)
- };
- var l = {relative: !0, absolute: !0, fixed: !0};
- function s(e, t, n) {
- return n = n || "round", t ? Math[n](e / t) * t : e
- }
- o._create = function () {
- this.position = {}, this._getPosition(), this.startPoint = {x: 0, y: 0}, this.dragPoint = {
- x: 0,
- y: 0
- }, this.startPosition = r({}, this.position);
- var e = getComputedStyle(this.element);
- l[e.position] || (this.element.style.position = "relative"), this.on("pointerDown", this.onPointerDown), this.on("pointerMove", this.onPointerMove), this.on("pointerUp", this.onPointerUp), this.enable(), this.setHandles()
- }, o.setHandles = function () {
- this.handles = this.options.handle ? this.element.querySelectorAll(this.options.handle) : [this.element], this.bindHandles()
- }, o.dispatchEvent = function (e, t, n) {
- var r = [t].concat(n);
- this.emitEvent(e, r), this.dispatchJQueryEvent(e, t, n)
- }, o.dispatchJQueryEvent = function (t, n, r) {
- var a = e.jQuery;
- if (a && this.$element) {
- var i = a.Event(n);
- i.type = t, this.$element.trigger(i, r)
- }
- }, o._getPosition = function () {
- var e = getComputedStyle(this.element), t = this._getPositionCoord(e.left, "width"),
- n = this._getPositionCoord(e.top, "height");
- this.position.x = isNaN(t) ? 0 : t, this.position.y = isNaN(n) ? 0 : n, this._addTransformPosition(e)
- }, o._getPositionCoord = function (e, n) {
- if (-1 != e.indexOf("%")) {
- var r = t(this.element.parentNode);
- return r ? parseFloat(e) / 100 * r[n] : 0
- }
- return parseInt(e, 10)
- }, o._addTransformPosition = function (e) {
- var t = e.transform;
- if (0 === t.indexOf("matrix")) {
- var n = t.split(","), r = 0 === t.indexOf("matrix3d") ? 12 : 4, a = parseInt(n[r], 10),
- i = parseInt(n[r + 1], 10);
- this.position.x += a, this.position.y += i
- }
- }, o.onPointerDown = function (e, t) {
- this.element.classList.add("is-pointer-down"), this.dispatchJQueryEvent("pointerDown", e, [t])
- }, o.dragStart = function (e, t) {
- this.isEnabled && (this._getPosition(), this.measureContainment(), this.startPosition.x = this.position.x, this.startPosition.y = this.position.y, this.setLeftTop(), this.dragPoint.x = 0, this.dragPoint.y = 0, this.element.classList.add("is-dragging"), this.dispatchEvent("dragStart", e, [t]), this.animate())
- }, o.measureContainment = function () {
- var e = this.getContainer();
- if (e) {
- var n = t(this.element), r = t(e), a = this.element.getBoundingClientRect(),
- i = e.getBoundingClientRect(), o = r.borderLeftWidth + r.borderRightWidth,
- l = r.borderTopWidth + r.borderBottomWidth, s = this.relativeStartPosition = {
- x: a.left - (i.left + r.borderLeftWidth),
- y: a.top - (i.top + r.borderTopWidth)
- };
- this.containSize = {
- width: r.width - o - s.x - n.width,
- height: r.height - l - s.y - n.height
- }
- }
- }, o.getContainer = function () {
- var e = this.options.containment;
- if (e) return e instanceof HTMLElement ? e : "string" == typeof e ? document.querySelector(e) : this.element.parentNode
- }, o.onPointerMove = function (e, t, n) {
- this.dispatchJQueryEvent("pointerMove", e, [t, n])
- }, o.dragMove = function (e, t, n) {
- if (this.isEnabled) {
- var r = n.x, a = n.y, i = this.options.grid, o = i && i[0], l = i && i[1];
- r = s(r, o), a = s(a, l), r = this.containDrag("x", r, o), a = this.containDrag("y", a, l), r = "y" == this.options.axis ? 0 : r, a = "x" == this.options.axis ? 0 : a, this.position.x = this.startPosition.x + r, this.position.y = this.startPosition.y + a, this.dragPoint.x = r, this.dragPoint.y = a, this.dispatchEvent("dragMove", e, [t, n])
- }
- }, o.containDrag = function (e, t, n) {
- if (!this.options.containment) return t;
- var r = "x" == e ? "width" : "height", a = s(-this.relativeStartPosition[e], n, "ceil"),
- i = this.containSize[r];
- return i = s(i, n, "floor"), Math.max(a, Math.min(i, t))
- }, o.onPointerUp = function (e, t) {
- this.element.classList.remove("is-pointer-down"), this.dispatchJQueryEvent("pointerUp", e, [t])
- }, o.dragEnd = function (e, t) {
- this.isEnabled && (this.element.style.transform = "", this.setLeftTop(), this.element.classList.remove("is-dragging"), this.dispatchEvent("dragEnd", e, [t]))
- }, o.animate = function () {
- if (this.isDragging) {
- this.positionDrag();
- var e = this;
- requestAnimationFrame(function () {
- e.animate()
- })
- }
- }, o.setLeftTop = function () {
- this.element.style.left = this.position.x + "px", this.element.style.top = this.position.y + "px"
- }, o.positionDrag = function () {
- this.element.style.transform = "translate3d( " + this.dragPoint.x + "px, " + this.dragPoint.y + "px, 0)"
- }, o.staticClick = function (e, t) {
- this.dispatchEvent("staticClick", e, [t])
- }, o.setPosition = function (e, t) {
- this.position.x = e, this.position.y = t, this.setLeftTop()
- }, o.enable = function () {
- this.isEnabled = !0
- }, o.disable = function () {
- this.isEnabled = !1, this.isDragging && this.dragEnd()
- }, o.destroy = function () {
- this.disable(), this.element.style.transform = "", this.element.style.left = "", this.element.style.top = "", this.element.style.position = "", this.unbindHandles(), this.$element && this.$element.removeData("draggabilly")
- }, o._init = function () {
- }, a && a.bridget && a.bridget("draggabilly", i);
- return i
- }(i, e, t)
- }.apply(t, r)) || (e.exports = a)
- }(window)
- }, function (e, t, n) {
- "use strict";
- var r, a, i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
- return typeof e
- } : function (e) {
- return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
- };
- window, void 0 === (a = "function" == typeof(r = function () {
- function e(e) {
- var t = parseFloat(e), n = -1 == e.indexOf("%") && !isNaN(t);
- return n && t
- }
- var t = "undefined" == typeof console ? function () {
- } : function (e) {
- console.error(e)
- },
- n = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"],
- r = n.length;
- function a(e) {
- var n = getComputedStyle(e);
- return n || t("Style returned " + n + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), n
- }
- var o, l = !1;
- function s(t) {
- if (function () {
- if (!l) {
- l = !0;
- var t = document.createElement("div");
- t.style.width = "200px", t.style.padding = "1px 2px 3px 4px", t.style.borderStyle = "solid", t.style.borderWidth = "1px 2px 3px 4px", t.style.boxSizing = "border-box";
- var n = document.body || document.documentElement;
- n.appendChild(t);
- var r = a(t);
- o = 200 == Math.round(e(r.width)), s.isBoxSizeOuter = o, n.removeChild(t)
- }
- }(), "string" == typeof t && (t = document.querySelector(t)), t && "object" == (void 0 === t ? "undefined" : i(t)) && t.nodeType) {
- var u = a(t);
- if ("none" == u.display) return function () {
- for (var e = {
- width: 0,
- height: 0,
- innerWidth: 0,
- innerHeight: 0,
- outerWidth: 0,
- outerHeight: 0
- }, t = 0; t < r; t++) {
- var a = n[t];
- e[a] = 0
- }
- return e
- }();
- var c = {};
- c.width = t.offsetWidth, c.height = t.offsetHeight;
- for (var p = c.isBorderBox = "border-box" == u.boxSizing, d = 0; d < r; d++) {
- var f = n[d], g = u[f], h = parseFloat(g);
- c[f] = isNaN(h) ? 0 : h
- }
- var y = c.paddingLeft + c.paddingRight, x = c.paddingTop + c.paddingBottom,
- m = c.marginLeft + c.marginRight, v = c.marginTop + c.marginBottom,
- b = c.borderLeftWidth + c.borderRightWidth, k = c.borderTopWidth + c.borderBottomWidth,
- w = p && o,
- _ = e(u.width);
- !1 !== _ && (c.width = _ + (w ? 0 : y + b));
- var E = e(u.height);
- return !1 !== E && (c.height = E + (w ? 0 : x + k)), c.innerWidth = c.width - (y + b), c.innerHeight = c.height - (x + k), c.outerWidth = c.width + m, c.outerHeight = c.height + v, c
- }
- }
- return s
- }) ? r.call(t, n, t, e) : r) || (e.exports = a)
- }, function (e, t, n) {
- "use strict";
- var r, a;
- "function" == typeof Symbol && Symbol.iterator;
- /*!
- * Unidragger v2.3.0
- * Draggable base class
- * MIT license
- */
- !function (i, o) {
- r = [n(30)], void 0 === (a = function (e) {
- return function (e, t) {
- function n() {
- }
- var r = n.prototype = Object.create(t.prototype);
- r.bindHandles = function () {
- this._bindHandles(!0)
- }, r.unbindHandles = function () {
- this._bindHandles(!1)
- }, r._bindHandles = function (t) {
- for (var n = (t = void 0 === t || t) ? "addEventListener" : "removeEventListener", r = t ? this._touchActionValue : "", a = 0; a < this.handles.length; a++) {
- var i = this.handles[a];
- this._bindStartEvent(i, t), i[n]("click", this), e.PointerEvent && (i.style.touchAction = r)
- }
- }, r._touchActionValue = "none", r.pointerDown = function (e, t) {
- var n = this.okayPointerDown(e);
- n && (this.pointerDownPointer = t, e.preventDefault(), this.pointerDownBlur(), this._bindPostStartEvents(e), this.emitEvent("pointerDown", [e, t]))
- };
- var a = {TEXTAREA: !0, INPUT: !0, SELECT: !0, OPTION: !0},
- i = {radio: !0, checkbox: !0, button: !0, submit: !0, image: !0, file: !0};
- return r.okayPointerDown = function (e) {
- var t = a[e.target.nodeName], n = i[e.target.type], r = !t || n;
- return r || this._pointerReset(), r
- }, r.pointerDownBlur = function () {
- var e = document.activeElement;
- e && e.blur && e != document.body && e.blur()
- }, r.pointerMove = function (e, t) {
- var n = this._dragPointerMove(e, t);
- this.emitEvent("pointerMove", [e, t, n]), this._dragMove(e, t, n)
- }, r._dragPointerMove = function (e, t) {
- var n = {
- x: t.pageX - this.pointerDownPointer.pageX,
- y: t.pageY - this.pointerDownPointer.pageY
- };
- return !this.isDragging && this.hasDragStarted(n) && this._dragStart(e, t), n
- }, r.hasDragStarted = function (e) {
- return Math.abs(e.x) > 3 || Math.abs(e.y) > 3
- }, r.pointerUp = function (e, t) {
- this.emitEvent("pointerUp", [e, t]), this._dragPointerUp(e, t)
- }, r._dragPointerUp = function (e, t) {
- this.isDragging ? this._dragEnd(e, t) : this._staticClick(e, t)
- }, r._dragStart = function (e, t) {
- this.isDragging = !0, this.isPreventingClicks = !0, this.dragStart(e, t)
- }, r.dragStart = function (e, t) {
- this.emitEvent("dragStart", [e, t])
- }, r._dragMove = function (e, t, n) {
- this.isDragging && this.dragMove(e, t, n)
- }, r.dragMove = function (e, t, n) {
- e.preventDefault(), this.emitEvent("dragMove", [e, t, n])
- }, r._dragEnd = function (e, t) {
- this.isDragging = !1, setTimeout(function () {
- delete this.isPreventingClicks
- }.bind(this)), this.dragEnd(e, t)
- }, r.dragEnd = function (e, t) {
- this.emitEvent("dragEnd", [e, t])
- }, r.onclick = function (e) {
- this.isPreventingClicks && e.preventDefault()
- }, r._staticClick = function (e, t) {
- this.isIgnoringMouseUp && "mouseup" == e.type || (this.staticClick(e, t), "mouseup" != e.type && (this.isIgnoringMouseUp = !0, setTimeout(function () {
- delete this.isIgnoringMouseUp
- }.bind(this), 400)))
- }, r.staticClick = function (e, t) {
- this.emitEvent("staticClick", [e, t])
- }, n.getPointerPoint = t.getPointerPoint, n
- }(i, e)
- }.apply(t, r)) || (e.exports = a)
- }(window)
- }, function (e, t, n) {
- "use strict";
- var r, a;
- "function" == typeof Symbol && Symbol.iterator;
- /*!
- * Unipointer v2.3.0
- * base class for doing one thing with pointer event
- * MIT license
- */
- !function (i, o) {
- r = [n(31)], void 0 === (a = function (e) {
- return function (e, t) {
- function n() {
- }
- var r = n.prototype = Object.create(t.prototype);
- r.bindStartEvent = function (e) {
- this._bindStartEvent(e, !0)
- }, r.unbindStartEvent = function (e) {
- this._bindStartEvent(e, !1)
- }, r._bindStartEvent = function (t, n) {
- var r = (n = void 0 === n || n) ? "addEventListener" : "removeEventListener", a = "mousedown";
- e.PointerEvent ? a = "pointerdown" : "ontouchstart" in e && (a = "touchstart"), t[r](a, this)
- }, r.handleEvent = function (e) {
- var t = "on" + e.type;
- this[t] && this[t](e)
- }, r.getTouch = function (e) {
- for (var t = 0; t < e.length; t++) {
- var n = e[t];
- if (n.identifier == this.pointerIdentifier) return n
- }
- }, r.onmousedown = function (e) {
- var t = e.button;
- t && 0 !== t && 1 !== t || this._pointerDown(e, e)
- }, r.ontouchstart = function (e) {
- this._pointerDown(e, e.changedTouches[0])
- }, r.onpointerdown = function (e) {
- this._pointerDown(e, e)
- }, r._pointerDown = function (e, t) {
- e.button || this.isPointerDown || (this.isPointerDown = !0, this.pointerIdentifier = void 0 !== t.pointerId ? t.pointerId : t.identifier, this.pointerDown(e, t))
- }, r.pointerDown = function (e, t) {
- this._bindPostStartEvents(e), this.emitEvent("pointerDown", [e, t])
- };
- var a = {
- mousedown: ["mousemove", "mouseup"],
- touchstart: ["touchmove", "touchend", "touchcancel"],
- pointerdown: ["pointermove", "pointerup", "pointercancel"]
- };
- return r._bindPostStartEvents = function (t) {
- if (t) {
- var n = a[t.type];
- n.forEach(function (t) {
- e.addEventListener(t, this)
- }, this), this._boundPointerEvents = n
- }
- }, r._unbindPostStartEvents = function () {
- this._boundPointerEvents && (this._boundPointerEvents.forEach(function (t) {
- e.removeEventListener(t, this)
- }, this), delete this._boundPointerEvents)
- }, r.onmousemove = function (e) {
- this._pointerMove(e, e)
- }, r.onpointermove = function (e) {
- e.pointerId == this.pointerIdentifier && this._pointerMove(e, e)
- }, r.ontouchmove = function (e) {
- var t = this.getTouch(e.changedTouches);
- t && this._pointerMove(e, t)
- }, r._pointerMove = function (e, t) {
- this.pointerMove(e, t)
- }, r.pointerMove = function (e, t) {
- this.emitEvent("pointerMove", [e, t])
- }, r.onmouseup = function (e) {
- this._pointerUp(e, e)
- }, r.onpointerup = function (e) {
- e.pointerId == this.pointerIdentifier && this._pointerUp(e, e)
- }, r.ontouchend = function (e) {
- var t = this.getTouch(e.changedTouches);
- t && this._pointerUp(e, t)
- }, r._pointerUp = function (e, t) {
- this._pointerDone(), this.pointerUp(e, t)
- }, r.pointerUp = function (e, t) {
- this.emitEvent("pointerUp", [e, t])
- }, r._pointerDone = function () {
- this._pointerReset(), this._unbindPostStartEvents(), this.pointerDone()
- }, r._pointerReset = function () {
- this.isPointerDown = !1, delete this.pointerIdentifier
- }, r.pointerDone = function () {
- }, r.onpointercancel = function (e) {
- e.pointerId == this.pointerIdentifier && this._pointerCancel(e, e)
- }, r.ontouchcancel = function (e) {
- var t = this.getTouch(e.changedTouches);
- t && this._pointerCancel(e, t)
- }, r._pointerCancel = function (e, t) {
- this._pointerDone(), this.pointerCancel(e, t)
- }, r.pointerCancel = function (e, t) {
- this.emitEvent("pointerCancel", [e, t])
- }, n.getPointerPoint = function (e) {
- return {x: e.pageX, y: e.pageY}
- }, n
- }(i, e)
- }.apply(t, r)) || (e.exports = a)
- }(window)
- }, function (e, t, n) {
- "use strict";
- var r, a;
- "function" == typeof Symbol && Symbol.iterator;
- "undefined" != typeof window && window, void 0 === (a = "function" == typeof(r = function () {
- function e() {
- }
- var t = e.prototype;
- return t.on = function (e, t) {
- if (e && t) {
- var n = this._events = this._events || {}, r = n[e] = n[e] || [];
- return -1 == r.indexOf(t) && r.push(t), this
- }
- }, t.once = function (e, t) {
- if (e && t) {
- this.on(e, t);
- var n = this._onceEvents = this._onceEvents || {};
- return (n[e] = n[e] || {})[t] = !0, this
- }
- }, t.off = function (e, t) {
- var n = this._events && this._events[e];
- if (n && n.length) {
- var r = n.indexOf(t);
- return -1 != r && n.splice(r, 1), this
- }
- }, t.emitEvent = function (e, t) {
- var n = this._events && this._events[e];
- if (n && n.length) {
- n = n.slice(0), t = t || [];
- for (var r = this._onceEvents && this._onceEvents[e], a = 0; a < n.length; a++) {
- var i = n[a];
- r && r[i] && (this.off(e, i), delete r[i]), i.apply(this, t)
- }
- return this
- }
- }, t.allOff = function () {
- delete this._events, delete this._onceEvents
- }, e
- }) ? r.call(t, n, t, e) : r) || (e.exports = a)
- }, function (e, t, n) {
- "use strict";
- Object.defineProperty(t, "__esModule", {value: !0});
- t.getAbsoluteURL = function (e) {
- if (!e.match(/^https?:\/\//)) {
- var t = document.createElement("div");
- t.innerHTML = '<a href="' + e + '">x</a>', e = t.firstChild.href
- }
- return e
- }
- }, function (e, t, n) {
- "use strict";
- var r, a, i;
- "function" == typeof Symbol && Symbol.iterator;
- a = [], void 0 === (i = "function" == typeof(r = function () {
- return function e(t, n, r) {
- var a, i, o = window, l = "application/octet-stream", s = r || l, u = t, c = !n && !r && u,
- p = document.createElement("a"), d = function (e) {
- return String(e)
- }, f = o.Blob || o.MozBlob || o.WebKitBlob || d, g = n || "download";
- if (f = f.call ? f.bind(o) : Blob, "true" === String(this) && (s = (u = [u, s])[0], u = u[1]), c && c.length < 2048 && (g = c.split("/").pop().split("?")[0], p.href = c, -1 !== p.href.indexOf(c))) {
- var h = new XMLHttpRequest;
- return h.open("GET", c, !0), h.responseType = "blob", h.onload = function (t) {
- e(t.target.response, g, l)
- }, setTimeout(function () {
- h.send()
- }, 0), h
- }
- if (/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(u)) {
- if (!(u.length > 2096103.424 && f !== d)) return navigator.msSaveBlob ? navigator.msSaveBlob(v(u), g) : b(u);
- u = v(u), s = u.type || l
- } else if (/([\x80-\xff])/.test(u)) {
- for (var y = 0, x = new Uint8Array(u.length), m = x.length; y < m; ++y) x[y] = u.charCodeAt(y);
- u = new f([x], {type: s})
- }
- function v(e) {
- for (var t = e.split(/[:;,]/), n = t[1], r = "base64" == t[2] ? atob : decodeURIComponent, a = r(t.pop()), i = a.length, o = 0, l = new Uint8Array(i); o < i; ++o) l[o] = a.charCodeAt(o);
- return new f([l], {type: n})
- }
- function b(e, t) {
- if ("download" in p) return p.href = e, p.setAttribute("download", g), p.className = "download-js-link", p.innerHTML = "downloading...", p.style.display = "none", document.body.appendChild(p), setTimeout(function () {
- p.click(), document.body.removeChild(p), !0 === t && setTimeout(function () {
- o.URL.revokeObjectURL(p.href)
- }, 250)
- }, 66), !0;
- if (/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent)) return /^data:/.test(e) && (e = "data:" + e.replace(/^data:([\w\/\-\+]+)/, l)), window.open(e) || confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.") && (location.href = e), !0;
- var n = document.createElement("iframe");
- document.body.appendChild(n), !t && /^data:/.test(e) && (e = "data:" + e.replace(/^data:([\w\/\-\+]+)/, l)), n.src = e, setTimeout(function () {
- document.body.removeChild(n)
- }, 333)
- }
- if (a = u instanceof f ? u : new f([u], {type: s}), navigator.msSaveBlob) return navigator.msSaveBlob(a, g);
- if (o.URL) b(o.URL.createObjectURL(a), !0); else {
- if ("string" == typeof a || a.constructor === d) try {
- return b("data:" + s + ";base64," + o.btoa(a))
- } catch (e) {
- return b("data:" + s + "," + encodeURIComponent(a))
- }
- (i = new FileReader).onload = function (e) {
- b(this.result)
- }, i.readAsDataURL(a)
- }
- return !0
- }
- }) ? r.apply(t, a) : r) || (e.exports = i)
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("volume", function () {
- var e = this, t = e.root, n = i.default.util, r = void 0, a = void 0, o = void 0, l = void 0;
- function s() {
- e.volume = e.config.volume, r = e.controls.querySelector(".xgplayer-volume"), a = r.querySelector(".xgplayer-slider"), o = r.querySelector(".xgplayer-bar"), l = r.querySelector(".xgplayer-drag"), r.querySelector(".xgplayer-icon")
- }
- function u(t) {
- e.video.muted = !1, a.focus(), n.event(t);
- var r = o.getBoundingClientRect(), i = (t.clientX, t.clientY), s = l.getBoundingClientRect().height,
- u = !1,
- c = function (t) {
- t.preventDefault(), t.stopPropagation(), n.event(t), u = !0;
- var a = s - t.clientY + i, o = a / r.height;
- l.style.height = a + "px", e.volume = Math.max(Math.min(o, 1), 0)
- }, p = function t(i) {
- if (i.preventDefault(), i.stopPropagation(), n.event(i), window.removeEventListener("mousemove", c), window.removeEventListener("touchmove", c), window.removeEventListener("mouseup", t), window.removeEventListener("touchend", t), !u) {
- var o = r.height - (i.clientY - r.top), s = o / r.height;
- l.style.height = o + "px", s <= 0 && (e.volume > 0 ? l.volume = e.video.volume : s = l.volume), e.volume = Math.max(Math.min(s, 1), 0)
- }
- a.volume = e.volume, u = !1
- };
- return window.addEventListener("mousemove", c), window.addEventListener("touchmove", c), window.addEventListener("mouseup", p), window.addEventListener("touchend", p), !1
- }
- function c() {
- e.video.muted = !1, 0 === e.volume ? e.volume = a.volume : e.volume = 0
- }
- function p() {
- n.addClass(t, "xgplayer-volume-active"), r && r.focus()
- }
- function d() {
- n.removeClass(t, "xgplayer-volume-active")
- }
- e.once("canplay", s), e.on("volumeBarClick", u), e.on("volumeIconClick", c), e.on("volumeIconEnter", p), e.on("volumeIconLeave", d);
- var f = null;
- function g() {
- f && clearTimeout(f), f = setTimeout(function () {
- n.removeClass(t, "xgplayer-volume-muted"), n.removeClass(t, "xgplayer-volume-small"), n.removeClass(t, "xgplayer-volume-large"), 0 === e.volume ? n.addClass(t, "xgplayer-volume-muted") : e.volume < .5 ? n.addClass(t, "xgplayer-volume-small") : n.addClass(t, "xgplayer-volume-large");
- var r = o.getBoundingClientRect().height || 76;
- l.style.height = e.volume * r + "px"
- }, 50)
- }
- e.on("volumechange", g), e.once("destroy", function t() {
- e.off("canplay", s), e.off("volumeBarClick", u), e.off("volumeIconClick", c), e.off("volumeIconEnter", p), e.off("volumeIconLeave", d), e.off("volumechange", g), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("start", function () {
- var e = this, t = e.root, n = i.default.util;
- function r() {
- n.removeClass(t, "xgplayer-is-enter")
- }
- function a() {
- n.removeClass(t, "xgplayer-is-enter")
- }
- function o() {
- n.hasClass(t, "xgplayer-nostart") ? (n.removeClass(t, "xgplayer-nostart"), n.addClass(t, "xgplayer-is-enter"), e.on("canplay", r), e.once("playing", a), t.querySelector("video") || e.start(), e.play()) : e.paused && (n.removeClass(t, "xgplayer-nostart xgplayer-isloading"), setTimeout(function () {
- e.play()
- }, 10))
- }
- e.on("startBtnClick", o), e.once("destroy", function t() {
- e.off("canplay", r), e.off("playing", a), e.off("startBtnClick", o), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0);
- ((r = a) && r.__esModule ? r : {default: r}).default.install("screenShot", function () {
- var e = this;
- e.root;
- if (e.config.screenShot) {
- var t = document.createElement("canvas"), n = t.getContext("2d"), r = new Image;
- t.width = this.config.width || 600, t.height = this.config.height || 337.5;
- var a = function (e, t) {
- var n = document.createElement("a");
- n.href = e, n.download = t;
- var r = document.createEvent("MouseEvents");
- r.initMouseEvent("click", !0, !1, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), n.dispatchEvent(r)
- };
- e.on("screenShotBtnClick", i), e.once("destroy", function t() {
- e.off("screenShotBtnClick", i), e.off("destroy", t)
- })
- }
- function i() {
- r.onload = function () {
- n.drawImage(e.video, 0, 0, t.width, t.height), r.setAttribute("crossOrigin", "anonymous"), r.src = t.toDataURL("image/png").replace("image/png", "image/octet-stream");
- var i = r.src.replace(/^data:image\/[^;]+/, "data:application/octet-stream");
- a(i, "截图.png")
- }()
- }
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0);
- ((r = a) && r.__esModule ? r : {default: r}).default.install("rotate", function () {
- var e = this, t = e.config.rotate;
- function n() {
- e.rotate(t.clockwise, t.innerRotate)
- }
- t && (e.on("rotateBtnClick", n), e.once("destroy", function t() {
- e.off("rotateBtnClick", n), e.off("destroy", t)
- }))
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("replay", function () {
- var e = this, t = i.default.util, n = e.root;
- function r() {
- t.removeClass(n, "replay"), e.replay()
- }
- e.on("replayBtnClick", r), e.on("ended", function () {
- e.config.loop || t.addClass(n, "replay")
- }), e.once("destroy", function t() {
- e.off("replayBtnClick", r), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0);
- ((r = a) && r.__esModule ? r : {default: r}).default.install("playNext", function () {
- var e = this, t = (e.root, e.config.playNext);
- function n() {
- e.currentVideoIndex + 1 < t.urlList.length ? (e.currentVideoIndex++, e.video.autoplay = !0, e.src = t.urlList[e.currentVideoIndex], e.emit("playerNext", e.currentVideoIndex + 1)) : e.emit("urlList last")
- }
- e.currentVideoIndex = -1, e.on("playNextBtnClick", n), e.once("destroy", function t() {
- e.off("playNextBtnClick", n), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0);
- ((r = a) && r.__esModule ? r : {default: r}).default.install("play", function () {
- var e = this;
- function t() {
- e.ended || (e.paused ? e.play() : e.pause())
- }
- e.on("playBtnClick", t), e.once("destroy", function n() {
- e.off("playBtnClick", t), e.off("destroy", n)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("pip", function () {
- var e = this, t = i.default.util, n = e.root;
- function r() {
- t.hasClass(n, "xgplayer-pip-active") ? e.exitPIP() : e.getPIP()
- }
- e.on("pipBtnClick", r), e.once("destroy", function t() {
- e.off("pipBtnClick", r), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("pc", function () {
- var e = this, t = i.default.util, n = e.controls, r = e.root, a = 0, o = void 0;
- function l() {
- clearTimeout(e.leavePlayerTimer), e.emit("focus", e)
- }
- function s() {
- e.config.closePlayerBlur || (e.leavePlayerTimer = setTimeout(function () {
- e.emit("blur", e)
- }, e.config.leavePlayerTime || 0))
- }
- function u(t) {
- e.config.autoplay && e.start()
- }
- e.onElementClick = function (e, n) {
- e.preventDefault(), e.stopPropagation();
- var r = this;
- r.config.closeVideoClick || (a++, o && clearTimeout(o), 1 === a ? o = setTimeout(function () {
- if (t.hasClass(r.root, "xgplayer-nostart")) return !1;
- r.ended || (r.paused ? r.play() : r.pause()), a = 0
- }, 200) : a = 0)
- }, e.video.addEventListener("click", function (t) {
- e.onElementClick(t, e.video)
- }, !1), e.onElementDblclick = function (e, t) {
- if (e.preventDefault(), e.stopPropagation(), !this.config.closeVideoDblclick) {
- var r = n.querySelector(".xgplayer-fullscreen");
- if (r) {
- var a = void 0;
- document.createEvent ? (a = document.createEvent("Event")).initEvent("click", !0, !0) : a = new Event("click"), r.dispatchEvent(a)
- }
- }
- }, e.video.addEventListener("dblclick", function (t) {
- e.onElementDblclick(t, e.video)
- }, !1), r.addEventListener("mouseenter", l), r.addEventListener("mouseleave", s), n.addEventListener("mouseenter", function (t) {
- e.userTimer && clearTimeout(e.userTimer)
- }, !1), n.addEventListener("mouseleave", function (t) {
- e.config.closeControlsBlur || e.emit("focus", e)
- }, !1), e.once("ready", u), e.once("destroy", function t() {
- r.removeEventListener("mouseenter", l), r.removeEventListener("mouseleave", s), e.off("ready", u), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("mobile", function () {
- var e = this, t = i.default.util, n = (e.controls, e.root);
- function r(t) {
- e.config.autoplay && e.start()
- }
- e.onElementTouchend = function (e, r) {
- if (e.preventDefault(), e.stopPropagation(), t.hasClass(n, "xgplayer-inactive") ? this.emit("focus") : this.emit("blur"), !this.config.closeVideoTouch) {
- if (t.hasClass(this.root, "xgplayer-nostart")) return !1;
- this.ended || (this.paused ? this.play() : this.pause())
- }
- }, e.video.addEventListener("touchend", function (t) {
- e.onElementTouchend(t, e.video)
- }, !1), e.once("ready", r), e.once("destroy", function t() {
- e.off("ready", r), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r = o(n(0)), a = o(n(5)), i = o(n(6));
- function o(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("logger", function () {
- var e = this, t = r.default.util;
- if (!0 !== e.config.noLog) {
- var n = function () {
- e.video.played;
- var t = s(e.logParams.played), n = (new Date).getTime();
- u();
- var r = {
- url: e.logParams.pluginSrc ? e.logParams.pluginSrc : e.logParams.playSrc,
- vid: e.config.vid,
- bc: e.logParams.bc - 1 > 0 ? e.logParams.bc - 1 : 0,
- bb: e.logParams.bc - 1 > 0 ? 1 : 0,
- bu_acu_t: e.logParams.bu_acu_t,
- pt: e.logParams.pt,
- vt: e.logParams.vt,
- vd: 1e3 * e.logParams.vd,
- watch_dur: parseFloat((1e3 * t).toFixed(3)),
- cur_play_pos: parseFloat((1e3 * e.currentTime).toFixed(3)),
- et: n
- };
- window.__xigua_log_sdk__("c", r)
- }, o = function () {
- e.video.played;
- var t = s(e.logParams.played), n = (new Date).getTime();
- u();
- var r = {
- url: e.logParams.pluginSrc ? e.logParams.pluginSrc : e.logParams.playSrc,
- vid: e.config.vid,
- bc: e.logParams.bc - 1 > 0 ? e.logParams.bc - 1 : 0,
- bb: e.logParams.bc - 1 > 0 ? 1 : 0,
- bu_acu_t: e.logParams.bu_acu_t,
- pt: e.logParams.pt,
- vt: e.logParams.vt,
- vd: 1e3 * e.logParams.vd,
- watch_dur: parseFloat((1e3 * t).toFixed(3)),
- cur_play_pos: parseFloat((1e3 * e.currentTime).toFixed(3)),
- lt: n
- };
- window.__xigua_log_sdk__("d", r)
- }, l = function (t) {
- e.video.played;
- var n = s(e.logParams.played);
- u();
- var r = (new Date).getTime();
- if (!(e.logParams.lastErrLog && r - e.logParams.lastErrLog <= 3e3)) {
- e.logParams.lastErrLog = r;
- var a = {
- url: e.logParams.pluginSrc ? e.logParams.pluginSrc : e.logParams.playSrc,
- vid: e.config.vid,
- bc: e.logParams.bc - 1 > 0 ? e.logParams.bc - 1 : 0,
- bb: e.logParams.bc - 1 > 0 ? 1 : 0,
- bu_acu_t: e.logParams.bu_acu_t,
- pt: e.logParams.pt,
- vt: e.logParams.vt,
- vd: 1e3 * e.logParams.vd,
- watch_dur: parseFloat((1e3 * n).toFixed(3)),
- err_msg: t.errd.msg,
- line: t.errd.line,
- et: r,
- cur_play_pos: parseFloat((1e3 * e.currentTime).toFixed(3))
- };
- if (e.logParams.nologFunc && e.logParams.nologFunc(e)) return !0;
- window.__xigua_log_sdk__("e", a)
- }
- };
- window.__xigua_log_sdk__ || (window.__xigua_log_sdk__ = new i.default("tracker"), window.__xigua_log_sdk__.init({
- app_id: 1300,
- channel: "cn",
- log: !1,
- disable_sdk_monitor: !0
- }), window.__xigua_log_sdk__("config", {
- evtParams: {
- log_type: "logger",
- page_url: document.URL,
- domain: window.location.host,
- pver: e.version,
- ua: navigator.userAgent.toLowerCase()
- }, disable_auto_pv: !0
- }), window.__xigua_log_sdk__.start()), e.config.uid && window.__xigua_log_sdk__("config", {user_unique_id: e.config.uid});
- var s = function () {
- for (var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], t = [], n = 0; n < e.length; n++) if (!(!e[n].end || e[n].begin < 0 || e[n].end < 0 || e[n].end < e[n].begin)) if (t.length < 1) t.push({
- begin: e[n].begin,
- end: e[n].end
- }); else for (var r = 0; r < t.length; r++) {
- var a = e[n].begin, i = e[n].end;
- if (i < t[r].begin) {
- t.splice(r, 0, {begin: a, end: i});
- break
- }
- if (!(a > t[r].end)) {
- var o = t[r].begin, l = t[r].end;
- t[r].begin = Math.min(a, o), t[r].end = Math.max(i, l);
- break
- }
- if (r > t.length - 2) {
- t.push({begin: a, end: i});
- break
- }
- }
- for (var s = 0, u = 0; u < t.length; u++) s += t[u].end - t[u].begin;
- return s
- }, u = function () {
- e.logParams.pt && e.logParams.vt || (e.logParams.pt = (new Date).getTime(), e.logParams.vt = e.logParams.pt), e.logParams.pt > e.logParams.vt && (e.logParams.pt = e.logParams.vt)
- }, c = function (n) {
- if (t.hasClass(e.root, "xgplayer-is-enter")) {
- var r = (new Date).getTime(), a = {
- url: e.logParams.pluginSrc ? e.logParams.pluginSrc : e.logParams.playSrc,
- vid: e.config.vid,
- pt: e.logParams.pt,
- lt: r
- };
- window.__xigua_log_sdk__("b", a)
- } else if (t.hasClass(e.root, "xgplayer-playing")) {
- var i = s(e.logParams.played), o = (new Date).getTime();
- u();
- var l = {
- url: e.logParams.pluginSrc ? e.logParams.pluginSrc : e.logParams.playSrc,
- vid: e.config.vid,
- bc: e.logParams.bc - 1 > 0 ? e.logParams.bc - 1 : 0,
- bb: e.logParams.bc - 1 > 0 ? 1 : 0,
- bu_acu_t: e.logParams.bu_acu_t,
- pt: e.logParams.pt,
- vt: e.logParams.vt,
- vd: 1e3 * e.logParams.vd,
- watch_dur: parseFloat((1e3 * i).toFixed(3)),
- cur_play_pos: parseFloat((1e3 * e.currentTime).toFixed(3)),
- lt: o
- };
- window.__xigua_log_sdk__("d", l)
- }
- };
- "pc" === a.default.device ? window.addEventListener("beforeunload", c, !1) : "mobile" === a.default.device && window.addEventListener("pagehide", c, !1), e.on("routechange", c), e.on("ended", n), e.on("urlchange", o), e.on("error", l), e.once("destroy", function t() {
- "pc" === a.default.device ? window.removeEventListener("beforeunload", c) : "mobile" === a.default.device && window.removeEventListener("pagehide", c), e.off("routechange", c), e.off("ended", n), e.off("urlchange", o), e.off("error", l), e.off("destroy", t)
- })
- }
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0);
- ((r = a) && r.__esModule ? r : {default: r}).default.install("localPreview", function () {
- var e = this, t = e.root;
- function n(n) {
- e.uploadFile = n.files[0];
- var r = URL.createObjectURL(e.uploadFile);
- util.hasClass(t, "xgplayer-nostart") ? (e.config.url = r, e.start()) : (e.src = r, e.play())
- }
- e.on("upload", n), e.once("destroy", function t() {
- e.off("upload", n), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0);
- ((r = a) && r.__esModule ? r : {default: r}).default.install("i18n", function () {
- var e = this, t = {}, n = e.constructor.util;
- t.en = {
- HAVE_NOTHING: "There is no information on whether audio/video is ready",
- HAVE_METADATA: "Audio/video metadata is ready ",
- HAVE_CURRENT_DATA: "Data about the current play location is available, but there is not enough data to play the next frame/millisecond",
- HAVE_FUTURE_DATA: "Current and at least one frame of data is available",
- HAVE_ENOUGH_DATA: "The available data is sufficient to start playing",
- NETWORK_EMPTY: "Audio/video has not been initialized",
- NETWORK_IDLE: "Audio/video is active and has been selected for resources, but no network is used",
- NETWORK_LOADING: "The browser is downloading the data",
- NETWORK_NO_SOURCE: "No audio/video source was found",
- MEDIA_ERR_ABORTED: "The fetch process is aborted by the user",
- MEDIA_ERR_NETWORK: "An error occurred while downloading",
- MEDIA_ERR_DECODE: "An error occurred while decoding",
- MEDIA_ERR_SRC_NOT_SUPPORTED: "Audio/video is not supported",
- REPLAY: "Replay",
- ERROR: "Network is offline",
- PLAY_TIPS: "Play",
- PAUSE_TIPS: "Pause",
- PLAYNEXT_TIPS: "Play next",
- DOWNLOAD_TIPS: "Download",
- ROTATE_TIPS: "Rotate",
- FULLSCREEN_TIPS: "Fullscreen",
- EXITFULLSCREEN_TIPS: "Exit fullscreen",
- CSSFULLSCREEN_TIPS: "Cssfullscreen",
- EXITCSSFULLSCREEN_TIPS: "Exit cssfullscreen",
- TEXTTRACK: "Caption",
- PIP: "Pip",
- SCREENSHOT: "Screenshot"
- }, t["zh-cn"] = {
- HAVE_NOTHING: "没有关于音频/视频是否就绪的信息",
- HAVE_METADATA: "音频/视频的元数据已就绪",
- HAVE_CURRENT_DATA: "关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒",
- HAVE_FUTURE_DATA: "当前及至少下一帧的数据是可用的",
- HAVE_ENOUGH_DATA: "可用数据足以开始播放",
- NETWORK_EMPTY: "音频/视频尚未初始化",
- NETWORK_IDLE: "音频/视频是活动的且已选取资源,但并未使用网络",
- NETWORK_LOADING: "浏览器正在下载数据",
- NETWORK_NO_SOURCE: "未找到音频/视频来源",
- MEDIA_ERR_ABORTED: "取回过程被用户中止",
- MEDIA_ERR_NETWORK: "当下载时发生错误",
- MEDIA_ERR_DECODE: "当解码时发生错误",
- MEDIA_ERR_SRC_NOT_SUPPORTED: "不支持的音频/视频格式",
- REPLAY: "重播",
- ERROR: "网络连接似乎出现了问题",
- PLAY_TIPS: "播放",
- PAUSE_TIPS: "暂停",
- PLAYNEXT_TIPS: "下一集",
- DOWNLOAD_TIPS: "下载",
- ROTATE_TIPS: "旋转",
- FULLSCREEN_TIPS: "进入全屏",
- EXITFULLSCREEN_TIPS: "退出全屏",
- CSSFULLSCREEN_TIPS: "进入样式全屏",
- EXITCSSFULLSCREEN_TIPS: "退出样式全屏",
- TEXTTRACK: "字幕",
- PIP: "画中画",
- SCREENSHOT: "截图"
- }, t.jp = {
- HAVE_NOTHING: "オーディオ/ビデオが準備できているか情報がありません",
- HAVE_METADATA: "オーディオ/ビデオのメタデータは準備できています",
- HAVE_CURRENT_DATA: "現在の再生位置に関するデータは利用可能ですが、次のフレーム/ミリ秒を再生するのに十分なデータがありません",
- HAVE_FUTURE_DATA: "現在、少なくとも次のフレームのデータが利用可能です",
- HAVE_ENOUGH_DATA: "利用可能なデータは再生を開始するのに十分です",
- NETWORK_EMPTY: "オーディオ/ビデオが初期化されていません",
- NETWORK_IDLE: "オーディオ/ビデオはアクティブでリソースが選択されていますが、ネットワークが使用されていません",
- NETWORK_LOADING: "ブラウザーはデータをダウンロードしています",
- NETWORK_NO_SOURCE: "オーディオ/ビデオ のソースが見つかりません",
- MEDIA_ERR_ABORTED: "ユーザーによってフェッチプロセスが中止されました",
- MEDIA_ERR_NETWORK: "ダウンロード中にエラーが発生しました",
- MEDIA_ERR_DECODE: "デコード中にエラーが発生しました",
- MEDIA_ERR_SRC_NOT_SUPPORTED: "オーディオ/ビデオ の形式がサポートされていません",
- REPLAY: "リプレイ",
- ERROR: "ネットワークの接続に問題が発生しました",
- PLAY_TIPS: "プレイ",
- PAUSE_TIPS: "一時停止",
- PLAYNEXT_TIPS: "次をプレイ",
- DOWNLOAD_TIPS: "ダウンロード",
- ROTATE_TIPS: "回転",
- FULLSCREEN_TIPS: "フルスクリーン",
- EXITFULLSCREEN_TIPS: "フルスクリーンを終了",
- CSSFULLSCREEN_TIPS: "シアターモード",
- EXITCSSFULLSCREEN_TIPS: "シアターモードを終了",
- TEXTTRACK: "字幕",
- PIP: "ミニプレーヤー",
- SCREENSHOT: "スクリーンショット"
- }, Object.defineProperty(e, "lang", {
- get: function () {
- return t[e.config.lang] || t.en
- }, set: function (e) {
- "Object" === n.typeOf(e) && Object.keys(e).forEach(function (n) {
- t[n] = e[n]
- })
- }
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("fullscreen", function () {
- var e = this, t = e.root, n = i.default.util;
- function r() {
- n.hasClass(t, "xgplayer-is-fullscreen") ? e.exitFullscreen(t) : e.getFullscreen(t)
- }
- function a() {
- var r = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;
- r && r === t ? (n.addClass(t, "xgplayer-is-fullscreen"), e.emit("requestFullscreen")) : (n.removeClass(t, "xgplayer-is-fullscreen"), e.emit("exitFullscreen"))
- }
- e.on("fullscreenBtnClick", r), ["fullscreenchange", "webkitfullscreenchange", "mozfullscreenchange", "MSFullscreenChange"].forEach(function (e) {
- document.addEventListener(e, a)
- }), e.once("destroy", function t() {
- e.off("fullscreenBtnClick", r), ["fullscreenchange", "webkitfullscreenchange", "mozfullscreenchange", "MSFullscreenChange"].forEach(function (e) {
- document.removeEventListener(e, a)
- }), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0);
- ((r = a) && r.__esModule ? r : {default: r}).default.install("download", function () {
- var e = this;
- function t() {
- e.download()
- }
- e.on("downloadBtnClick", t), e.once("destroy", function n() {
- e.off("downloadBtnClick", t), e.off("destroy", n)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0);
- ((r = a) && r.__esModule ? r : {default: r}).default.install("definition", function () {
- var e = this;
- e.root;
- e.once("destroy", function t() {
- e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("danmu", function () {
- var e = this, t = (e.root, i.default.util);
- e.on("initDefaultDanmu", function (n) {
- var r = e.root.querySelector("xg-danmu");
- if (t.addClass(r, "xgplayer-has-danmu"), !e.config.danmu.closeDefaultBtn) {
- var a = function () {
- n.start()
- }, i = function () {
- t.hasClass(e.danmuBtn, "danmu-switch-active") && n.pause()
- }, o = function () {
- t.hasClass(e.danmuBtn, "danmu-switch-active") && n.play()
- }, l = function () {
- t.hasClass(e.danmuBtn, "danmu-switch-active") && (n.stop(), n.start())
- };
- e.danmuBtn = t.copyDom(n.bulletBtn.createSwitch(!0)), e.controls.appendChild(e.danmuBtn), ["click", "touchend"].forEach(function (i) {
- e.danmuBtn.addEventListener(i, function (i) {
- i.preventDefault(), i.stopPropagation(), t.toggleClass(e.danmuBtn, "danmu-switch-active"), t.hasClass(e.danmuBtn, "danmu-switch-active") ? (t.addClass(r, "xgplayer-has-danmu"), e.once("timeupdate", a)) : (t.removeClass(r, "xgplayer-has-danmu"), n.stop())
- })
- }), e.onElementClick && r.addEventListener("click", function (t) {
- e.onElementClick(t, r)
- }, !1), e.onElementDblclick && r.addEventListener("dblclick", function (t) {
- e.onElementDblclick(t, r)
- }, !1), e.on("pause", i), e.on("play", o), e.on("seeked", l), e.once("destroy", function t() {
- e.off("timeupdate", a), e.off("pause", i), e.off("play", o), e.off("seeked", l), e.off("destroy", t)
- })
- }
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("cssFullscreen", function () {
- var e = this, t = e.root, n = i.default.util;
- function r() {
- n.hasClass(t, "xgplayer-is-cssfullscreen") ? n.removeClass(t, "xgplayer-is-cssfullscreen") : n.addClass(t, "xgplayer-is-cssfullscreen")
- }
- e.on("cssFullscreenBtnClick", r), e.on("exitFullscreen", function () {
- n.removeClass(t, "xgplayer-is-cssfullscreen")
- }), e.once("destroy", function t() {
- e.off("cssFullscreenBtnClick", r), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- n(53), n(58), n(59), n(62), n(65), n(66), n(67), n(70), n(73), n(77), n(78), n(80), n(81), n(82), n(84), n(85), n(86), n(88), n(92), n(93), n(95), n(97), n(98), n(99)
- }, function (e, t, n) {
- var r = n(54);
- "string" == typeof r && (r = [[e.i, r, ""]]);
- var a = {hmr: !0, transform: void 0, insertInto: void 0};
- n(56)(r, a);
- r.locals && (e.exports = r.locals)
- }, function (e, t, n) {
- (e.exports = n(55)(!1)).push([e.i, '.xgplayer-skin-default{background:#000;width:100%;height:100%;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;-ms-user-select:none}.xgplayer-skin-default *{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}.xgplayer-skin-default.xgplayer-is-fullscreen{width:100%!important;height:100%!important;padding-top:0!important;z-index:9999}.xgplayer-skin-default.xgplayer-is-fullscreen.xgplayer-inactive{cursor:none}.xgplayer-skin-default video{width:100%;height:100%;outline:none}.xgplayer-skin-default .xgplayer-none{display:none}.xgplayer-skin-default .xgplayer-play,.xgplayer-skin-default .xgplayer-play-img{position:relative;-webkit-order:0;-moz-box-ordinal-group:1;order:0;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-play .xgplayer-icon{margin-top:3px;width:32px}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-play .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default .xgplayer-play .xgplayer-icon .xgplayer-icon-play{display:block}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:block}.xgplayer-skin-default .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:none}.xgplayer-skin-default .xgplayer-play-img:hover,.xgplayer-skin-default .xgplayer-play:hover{opacity:.85}.xgplayer-skin-default .xgplayer-play-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-play:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-icon .xgplayer-icon-play{display:none}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:block}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:none}.xgplayer-skin-default .xgplayer-start{border-radius:50%;display:inline-block;width:70px;height:70px;background:rgba(0,0,0,.38);overflow:hidden;text-align:center;line-height:70px;vertical-align:middle;position:absolute;left:50%;top:50%;z-index:115;margin:-35px auto auto -35px;cursor:pointer}.xgplayer-skin-default .xgplayer-start div{position:absolute}.xgplayer-skin-default .xgplayer-start div svg{fill:hsla(0,0%,100%,.7);margin:14px}.xgplayer-skin-default .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-start:hover{opacity:.85}.xgplayer-skin-default.xgplayer-playing .xgplayer-start,.xgplayer-skin-default.xgplayer-playing .xgplayer-start .xgplayer-icon-play{display:none}.xgplayer-skin-default.xgplayer-playing .xgplayer-start .xgplayer-icon-pause{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-start{display:inline-block}.xgplayer-skin-default.xgplayer-pause .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default.replay .xgplayer-start,.xgplayer-skin-default.xgplayer-pause .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default.replay .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default.replay .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-enter{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background:url("//s2.pstatp.com/cdn/expire-1-M/byted-player-images/1.0.2/bg.svg") no-repeat 50%/cover;z-index:120}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner{display:block;position:absolute;left:50%;top:50%;height:100px;width:100px;position:relative;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div{width:12%;height:26%;background-color:hsla(0,0%,100%,.7);position:absolute;left:44%;top:37%;opacity:0;border-radius:30px;-webkit-animation:fade 1s linear infinite;animation:fade 1s linear infinite}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar1{-webkit-transform:rotate(0deg) translateY(-142%);-ms-transform:rotate(0deg) translateY(-142%);transform:rotate(0deg) translateY(-142%);-webkit-animation-delay:0s;animation-delay:0s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar2{-webkit-transform:rotate(30deg) translateY(-142%);-ms-transform:rotate(30deg) translateY(-142%);transform:rotate(30deg) translateY(-142%);-webkit-animation-delay:-.9163s;animation-delay:-.9163s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar3{-webkit-transform:rotate(60deg) translateY(-142%);-ms-transform:rotate(60deg) translateY(-142%);transform:rotate(60deg) translateY(-142%);-webkit-animation-delay:-.833s;animation-delay:-.833s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar4{-webkit-transform:rotate(90deg) translateY(-142%);-ms-transform:rotate(90deg) translateY(-142%);transform:rotate(90deg) translateY(-142%);-webkit-animation-delay:-.7497s;animation-delay:-.7497s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar5{-webkit-transform:rotate(120deg) translateY(-142%);-ms-transform:rotate(120deg) translateY(-142%);transform:rotate(120deg) translateY(-142%);-webkit-animation-delay:-.6664s;animation-delay:-.6664s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar6{-webkit-transform:rotate(150deg) translateY(-142%);-ms-transform:rotate(150deg) translateY(-142%);transform:rotate(150deg) translateY(-142%);-webkit-animation-delay:-.5831s;animation-delay:-.5831s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar7{-webkit-transform:rotate(180deg) translateY(-142%);-ms-transform:rotate(180deg) translateY(-142%);transform:rotate(180deg) translateY(-142%);-webkit-animation-delay:-.4998s;animation-delay:-.4998s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar8{-webkit-transform:rotate(210deg) translateY(-142%);-ms-transform:rotate(210deg) translateY(-142%);transform:rotate(210deg) translateY(-142%);-webkit-animation-delay:-.4165s;animation-delay:-.4165s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar9{-webkit-transform:rotate(240deg) translateY(-142%);-ms-transform:rotate(240deg) translateY(-142%);transform:rotate(240deg) translateY(-142%);-webkit-animation-delay:-.3332s;animation-delay:-.3332s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar10{-webkit-transform:rotate(270deg) translateY(-142%);-ms-transform:rotate(270deg) translateY(-142%);transform:rotate(270deg) translateY(-142%);-webkit-animation-delay:-.2499s;animation-delay:-.2499s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar11{-webkit-transform:rotate(300deg) translateY(-142%);-ms-transform:rotate(300deg) translateY(-142%);transform:rotate(300deg) translateY(-142%);-webkit-animation-delay:-.1666s;animation-delay:-.1666s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar12{-webkit-transform:rotate(330deg) translateY(-142%);-ms-transform:rotate(330deg) translateY(-142%);transform:rotate(330deg) translateY(-142%);-webkit-animation-delay:-.0833s;animation-delay:-.0833s}@-webkit-keyframes fade{0%{opacity:1}to{opacity:.25}}.xgplayer-skin-default.xgplayer-is-enter .xgplayer-enter{display:block}.xgplayer-skin-default .xgplayer-poster{display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:100;background-size:cover;background-position:50%}.xgplayer-skin-default.xgplayer-nostart .xgplayer-poster{display:block}.xgplayer-skin-default .xgplayer-placeholder{-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-order:3;-moz-box-ordinal-group:4;order:3;display:block}.xgplayer-skin-default .xgplayer-fullscreen,.xgplayer-skin-default .xgplayer-fullscreen-img{position:relative;-webkit-order:13;-moz-box-ordinal-group:14;order:13;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon{margin-top:3px}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:block}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:none}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips{position:absolute;right:0;left:auto}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:block}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:none}.xgplayer-skin-default .xgplayer-fullscreen-img:hover,.xgplayer-skin-default .xgplayer-fullscreen:hover{opacity:.85}.xgplayer-skin-default .xgplayer-fullscreen-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-fullscreen:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen,.xgplayer-skin-default .xgplayer-cssfullscreen-img{position:relative;-webkit-order:12;-moz-box-ordinal-group:13;order:12;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon{width:32px;margin-top:5px}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:none}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-40px}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:none}.xgplayer-skin-default .xgplayer-cssfullscreen-img:hover,.xgplayer-skin-default .xgplayer-cssfullscreen:hover{opacity:.85}.xgplayer-skin-default .xgplayer-cssfullscreen-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-cssfullscreen:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-47px}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-cssfullscreen,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-cssfullscreen-img{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen{position:fixed!important;left:0!important;top:0!important;width:100%!important;height:100%!important;z-index:99999!important}.lang-is-en .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-en .xgplayer-cssfullscreen .xgplayer-tips,.lang-is-en.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-en.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-46px}.lang-is-jp .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-jp .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-120px}.lang-is-jp.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-jp.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-60px}.xgplayer-skin-default .xgplayer-volume{outline:none;-webkit-order:4;-moz-box-ordinal-group:5;order:4;width:28px;height:140px;display:block;position:relative;margin-top:-100px;z-index:18}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon{margin-top:8px;cursor:pointer;position:absolute;bottom:-9px}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:block}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted,.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-small{display:none}.xgplayer-skin-default .xgplayer-slider{display:none;position:absolute;width:28px;height:88px;background:rgba(0,0,0,.54);border-radius:1px;bottom:42px;outline:none}.xgplayer-skin-default .xgplayer-slider:after{content:" ";display:block;height:15px;width:28px;position:absolute;bottom:-15px;left:0;z-index:20}.xgplayer-skin-default .xgplayer-bar,.xgplayer-skin-default .xgplayer-drag{display:block;position:absolute;bottom:6px;left:12px;background:hsla(0,0%,100%,.3);border-radius:100px;width:4px;height:76px;outline:none;cursor:pointer}.xgplayer-skin-default .xgplayer-drag{bottom:0;left:0;background:#fa1f41;max-height:76px}.xgplayer-skin-default .xgplayer-drag:after{content:" ";display:inline-block;width:8px;height:8px;background:#fff;box-shadow:0 0 5px 0 rgba(0,0,0,.26);position:absolute;border-radius:50%;left:-2px;top:-6px}.xgplayer-skin-default.xgplayer-volume-active .xgplayer-slider,.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:block}.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted,.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-small,.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:none}.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-small{display:block}.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-large,.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-small,.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted{display:none}.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted{display:block}.xgplayer-skin-default .xgplayer-definition{-webkit-order:5;-moz-box-ordinal-group:6;order:5;width:60px;height:150px;z-index:18;position:relative;outline:none;display:none;cursor:default;margin-left:10px;margin-top:-119px}.xgplayer-skin-default .xgplayer-definition ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;left:0;text-align:center;white-space:nowrap;margin-left:-10px;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-definition ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);padding:6px 13px}.xgplayer-skin-default .xgplayer-definition ul li.selected,.xgplayer-skin-default .xgplayer-definition ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-definition .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;cursor:pointer;color:hsla(0,0%,100%,.8);position:absolute;bottom:0;width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default.xgplayer-definition-active .xgplayer-definition ul,.xgplayer-skin-default.xgplayer-is-definition .xgplayer-definition{display:block}.xgplayer-skin-default .xgplayer-time{-webkit-order:2;-moz-box-ordinal-group:3;order:2;font-family:ArialMT;font-size:13px;color:#fff;line-height:40px;text-align:center;display:inline-block}.xgplayer-skin-default .xgplayer-time span:after{content:"/";display:inline-block;padding:0 3px}.xgplayer-skin-default .xgplayer-time em{color:hsla(0,0%,100%,.5)}.xgplayer-skin-default .xgplayer-controls{display:-webkit-flex;display:-moz-box;display:flex;position:absolute;bottom:0;left:0;right:0;height:40px;background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.37),rgba(0,0,0,.75),rgba(0,0,0,.75));z-index:10}.xgplayer-skin-default.no-controls .xgplayer-controls,.xgplayer-skin-default.xgplayer-inactive .xgplayer-controls,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls>*,.xgplayer-skin-default.xgplayer-nostart .xgplayer-controls{display:none}.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-fullscreen,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-live,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-placeholder,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-play,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-play-img,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-volume{display:block}.xgplayer-skin-default .xgplayer-live{display:block;font-size:12px;color:#fff;line-height:40px;-webkit-order:1;-moz-box-ordinal-group:2;order:1}.xgplayer-skin-default .xgplayer-loading{display:none;width:100px;height:100px;overflow:hidden;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7);position:absolute;left:50%;top:50%;margin:-70px auto auto -50px}.xgplayer-skin-default .xgplayer-loading svg{border-radius:50%;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-animation:loadingRotate 1s linear infinite;animation:loadingRotate 1s linear infinite}.xgplayer-skin-default .xgplayer-loading svg path{stroke:#ddd;stroke-dasharray:236;-webkit-animation:loadingDashOffset 2s linear infinite;animation:loadingDashOffset 2s linear infinite;animation-direction:alternate-reverse;fill:none;stroke-width:12px}.xgplayer-skin-default.xgplayer-nostart .xgplayer-loading{display:none}.xgplayer-skin-default.xgplayer-isloading .xgplayer-loading{display:block}.xgplayer-skin-default .xgplayer-progress{display:block;position:absolute;height:20px;line-height:20px;left:0;right:0;outline:none;top:-10px;z-index:35}.xgplayer-skin-default .xgplayer-progress-outer{background:hsla(0,0%,100%,.3);display:block;height:3px;line-height:3px;margin-top:8.5px;width:100%;position:relative;cursor:pointer}.xgplayer-skin-default .xgplayer-progress-cache,.xgplayer-skin-default .xgplayer-progress-played{display:block;height:100%;line-height:1;position:absolute;left:0;top:0}.xgplayer-skin-default .xgplayer-progress-cache{width:0;background:hsla(0,0%,100%,.5)}.xgplayer-skin-default .xgplayer-progress-played{display:block;width:0;background-image:linear-gradient(-90deg,#fa1f41,#e31106);border-radius:0 1.5px 1.5px 0}.xgplayer-skin-default .xgplayer-progress-btn{display:none;position:absolute;left:0;top:-6px;width:14px;height:16px;border-radius:5px;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.26)}.xgplayer-skin-default .xgplayer-progress-point{position:absolute}.xgplayer-skin-default .xgplayer-progress-point.xgplayer-tips{margin-left:0;top:-25px;display:none;z-index:100}.xgplayer-skin-default .xgplayer-progress-dot{display:inline-block;position:absolute;height:3px;width:5px;top:0;background:#fff;border-radius:6px;z-index:16}.xgplayer-skin-default .xgplayer-progress-dot .xgplayer-progress-tip{position:absolute;left:0;top:-40px;height:auto;line-height:30px;width:auto;-webkit-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8);background:rgba(0,0,0,.3);border-radius:6px;border:1px solid rgba(0,0,0,.8);cursor:default;white-space:nowrap;display:none}.xgplayer-skin-default .xgplayer-progress-dot-show .xgplayer-progress-tip{display:block}.xgplayer-skin-default .xgplayer-progress-thumbnail{position:absolute;-moz-box-sizing:border-box;box-sizing:border-box}.xgplayer-skin-default .xgplayer-progress-thumbnail.xgplayer-tips{margin-left:0;display:none;z-index:99}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-outer,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-outer{height:6px;margin-top:7px}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-dot,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-dot{height:6px}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-btn,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-btn{display:block}.xgplayer-skin-default.xgplayer-definition-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-playbackrate-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-texttrack-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-volume-active .xgplayer-progress{z-index:15}.xgplayer-skin-default .xgplayer-replay{position:absolute;left:0;top:0;width:100%;height:100%;z-index:105;display:none;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;background:rgba(0,0,0,.54);-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column}.xgplayer-skin-default .xgplayer-replay svg{background:rgba(0,0,0,.58);border-radius:100%;cursor:pointer}.xgplayer-skin-default .xgplayer-replay svg path{-webkit-transform:translate(20px,21px);-ms-transform:translate(20px,21px);transform:translate(20px,21px);fill:#ddd}.xgplayer-skin-default .xgplayer-replay svg:hover{background:rgba(0,0,0,.38)}.xgplayer-skin-default .xgplayer-replay svg:hover path{fill:#fff}.xgplayer-skin-default .xgplayer-replay .xgplayer-replay-txt{display:inline-block;font-family:PingFangSC-Regular;font-size:14px;color:#fff;line-height:34px}.xgplayer-skin-default.xgplayer.xgplayer-ended .xgplayer-controls{display:none}.xgplayer-skin-default.xgplayer.xgplayer-ended .xgplayer-replay{display:-webkit-flex;display:-moz-box;display:flex}.xgplayer-skin-default .xgplayer-playbackrate{-webkit-order:8;-moz-box-ordinal-group:9;order:8;width:60px;height:20px;z-index:18;position:relative;display:inline-block;cursor:default}.xgplayer-skin-default .xgplayer-playbackrate ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:20px;left:0;text-align:left;white-space:nowrap;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-playbackrate ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);position:relative;padding:4px 0;text-align:center}.xgplayer-skin-default .xgplayer-playbackrate ul li.selected,.xgplayer-skin-default .xgplayer-playbackrate ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-playbackrate ul li:first-child{position:relative;margin-top:12px}.xgplayer-skin-default .xgplayer-playbackrate ul li:last-child{position:relative;margin-bottom:12px}.xgplayer-skin-default .xgplayer-playbackrate .name{height:20px;position:relative;top:11px;text-align:center;background:rgba(0,0,0,.38);color:hsla(0,0%,100%,.8);border-radius:10px;line-height:20px}.xgplayer-skin-default .xgplayer-playbackrate span{position:relative;top:19px;font-weight:700;text-shadow:0 0 4px rgba(0,0,0,.6)}.xgplayer-skin-default .xgplayer-playbackrate:hover{opacity:1}.xgplayer-skin-default.xgplayer-playbackrate-active .xgplayer-playbackrate ul{display:block}.xgplayer-skin-default .xgplayer-download{position:relative;-webkit-order:9;-moz-box-ordinal-group:10;order:9;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-download .xgplayer-icon{margin-top:3px}.xgplayer-skin-default .xgplayer-download .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-download .xgplayer-icon svg{position:relative;top:5px;left:5px}.xgplayer-skin-default .xgplayer-download .xgplayer-tips{margin-left:-20px}.xgplayer-skin-default .xgplayer-download .xgplayer-tips .xgplayer-tip-download{display:block}.xgplayer-skin-default .xgplayer-download:hover{opacity:.85}.xgplayer-skin-default .xgplayer-download:hover .xgplayer-tips{display:block}.lang-is-en .xgplayer-download .xgplayer-tips{margin-left:-32px}.lang-is-jp .xgplayer-download .xgplayer-tips{margin-left:-40px}.xgplayer-skin-default .danmu-switch{-webkit-order:6;-moz-box-ordinal-group:7;order:6;z-index:26}.xgplayer-skin-default .xgplayer-danmu{display:none;position:absolute;top:0;left:0;right:0;height:100%;overflow:hidden;z-index:9;outline:none}.xgplayer-skin-default .xgplayer-danmu>*{position:absolute;white-space:nowrap;z-index:9}.xgplayer-skin-default .xgplayer-danmu.xgplayer-has-danmu{display:block}.xgplayer-skin-default .xgplayer-panel{outline:none;-webkit-order:7;-moz-box-ordinal-group:8;order:7;width:40px;height:40px;display:inline-block;position:relative;font-family:PingFangSC-Regular;font-size:13px;color:hsla(0,0%,100%,.8);z-index:36}.xgplayer-skin-default .xgplayer-panel .xgplayer-panel-icon{cursor:pointer;position:absolute;margin-left:5px;top:10px}.xgplayer-skin-default .xgplayer-panel-active{display:block!important;bottom:30px}.xgplayer-skin-default .xgplayer-panel-slider{z-index:36;display:none;position:absolute;width:230px;height:230px;background:rgba(0,0,0,.54);border-radius:1px;padding:10px 20px;outline:none;left:-115px;bottom:40px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode{padding-bottom:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode-radio li{display:inline;list-style:none;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode ul{display:-webkit-flex;display:-moz-box;display:flex;-webkit-justify-content:space-around;justify-content:space-around}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode li{margin:0 12px;font-size:11px;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode-font{margin-bottom:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency{display:block;margin-top:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-moz-range-progress{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:4px;background:linear-gradient(90deg,#f85959,#f85959 100%,#aaa)}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea{display:block;margin-top:8px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-threequarters,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-twoquarters{margin-left:-6px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-full{margin-right:3px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-full-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-onequarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-threequarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-twoquarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-zero-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed{display:block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-large-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-middle-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-small-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont{display:block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-large-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-middle-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-small-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-playnext{position:relative;-webkit-order:1;-moz-box-ordinal-group:2;order:1;display:block;cursor:pointer;top:-2px}.xgplayer-skin-default .xgplayer-playnext .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-playnext .xgplayer-tips .xgplayer-tip-playnext{display:block}.xgplayer-skin-default .xgplayer-playnext:hover{opacity:.85}.xgplayer-skin-default .xgplayer-playnext:hover .xgplayer-tips{display:block}.lang-is-en .xgplayer-playnext .xgplayer-tips{margin-left:-25px}.lang-is-jp .xgplayer-playnext .xgplayer-tips{margin-left:-38px}.xgplayer-skin-default .xgplayer-pip{-webkit-order:9;-moz-box-ordinal-group:10;order:9;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:8px}.xgplayer-skin-default .xgplayer-pip .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-pip .name span{width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default .xgplayer-pip-lay{position:absolute;top:26px;left:0;width:100%;height:100%;z-index:130;cursor:pointer;background-color:transparent;display:none}.xgplayer-skin-default .xgplayer-pip-lay div{width:100%;height:100%}.xgplayer-skin-default .xgplayer-pip-drag{cursor:move;position:absolute;top:0;left:0;width:100%;height:26px;line-height:26px;background-image:linear-gradient(rgba(0,0,0,.3),transparent);z-index:130;display:none}.xgplayer-skin-default.xgplayer-pip-active{position:fixed;right:0;bottom:200px;width:320px!important;height:180px!important;z-index:110!important}.xgplayer-skin-default.xgplayer-pip-active .xgplayer-controls,.xgplayer-skin-default.xgplayer-pip-active .xgplayer-danmu{display:none}.xgplayer-skin-default.xgplayer-pip-active .xgplayer-pip-lay{display:block}.xgplayer-skin-default.xgplayer-pip-active .xgplayer-pip-drag{display:-webkit-flex;display:-moz-box;display:flex}.xgplayer-skin-default.xgplayer-inactive .xgplayer-pip-drag{display:none}.lang-is-jp .xgplayer-pip .name span{width:70px;height:20px}.xgplayer-skin-default .xgplayer-rotate{position:relative;-webkit-order:10;-moz-box-ordinal-group:11;order:10;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-rotate .xgplayer-icon{margin-top:7px;width:26px}.xgplayer-skin-default .xgplayer-rotate .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-rotate .xgplayer-tips{margin-left:-22px}.xgplayer-skin-default .xgplayer-rotate .xgplayer-tips .xgplayer-tip-rotate{display:block}.xgplayer-skin-default .xgplayer-rotate:hover{opacity:.85}.xgplayer-skin-default .xgplayer-rotate:hover .xgplayer-tips{display:block}.lang-is-en .xgplayer-rotate .xgplayer-tips{margin-left:-26px}.lang-is-jp .xgplayer-rotate .xgplayer-tips{margin-left:-38px}.xgplayer-skin-default .xgplayer-screenshot{-webkit-order:11;-moz-box-ordinal-group:12;order:11;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:8px}.xgplayer-skin-default .xgplayer-screenshot .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-screenshot .name span{width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.lang-is-en .xgplayer-screenshot .name span,.lang-is-jp .xgplayer-screenshot .name span{width:75px;height:20px}.xgplayer-skin-default .xgplayer-texttrack{-webkit-order:7;-moz-box-ordinal-group:8;order:7;width:60px;height:150px;z-index:18;position:relative;outline:none;display:none;cursor:default;margin-top:-119px}.xgplayer-skin-default .xgplayer-texttrack ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;left:0;text-align:center;white-space:nowrap;margin-left:-10px;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-texttrack ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);padding:6px 13px}.xgplayer-skin-default .xgplayer-texttrack ul li.selected,.xgplayer-skin-default .xgplayer-texttrack ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-texttrack .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;cursor:pointer;color:hsla(0,0%,100%,.8);position:absolute;bottom:0;width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default.xgplayer-is-texttrack .xgplayer-texttrack,.xgplayer-skin-default.xgplayer-texttrack-active .xgplayer-texttrack ul{display:block}.xgplayer-skin-default .xgplayer-icon{display:block;width:40px;height:40px;overflow:hidden;fill:#fff}.xgplayer-skin-default .xgplayer-tips{background:rgba(0,0,0,.54);border-radius:1px;font-size:11px;padding:2px 4px;top:-30px;left:50%;margin-left:-16px;width:auto;white-space:nowrap}.xgplayer-skin-default .xgplayer-error,.xgplayer-skin-default .xgplayer-tips{display:none;position:absolute;font-family:PingFangSC-Regular;color:#fff;text-align:center}.xgplayer-skin-default .xgplayer-error{background:#000;left:0;top:0;width:100%;height:100%;z-index:125;font-size:14px;line-height:100%;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-align-items:center;-moz-box-align:center;align-items:center}.xgplayer-skin-default .xgplayer-error .xgplayer-error-refresh{color:#fa1f41;padding:0 3px;cursor:pointer}.xgplayer-skin-default .xgplayer-error .xgplayer-error-text{line-height:18px;margin:auto 6px}.xgplayer-skin-default.xgplayer-is-error .xgplayer-error{display:-webkit-flex;display:-moz-box;display:flex}', ""])
- }, function (e, t, n) {
- "use strict";
- e.exports = function (e) {
- var t = [];
- return t.toString = function () {
- return this.map(function (t) {
- var n = function (e, t) {
- var n = e[1] || "", r = e[3];
- if (!r) return n;
- if (t && "function" == typeof btoa) {
- var a = (o = r, "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(o)))) + " */"),
- i = r.sources.map(function (e) {
- return "/*# sourceURL=" + r.sourceRoot + e + " */"
- });
- return [n].concat(i).concat([a]).join("\n")
- }
- var o;
- return [n].join("\n")
- }(t, e);
- return t[2] ? "@media " + t[2] + "{" + n + "}" : n
- }).join("")
- }, t.i = function (e, n) {
- "string" == typeof e && (e = [[null, e, ""]]);
- for (var r = {}, a = 0; a < this.length; a++) {
- var i = this[a][0];
- "number" == typeof i && (r[i] = !0)
- }
- for (a = 0; a < e.length; a++) {
- var o = e[a];
- "number" == typeof o[0] && r[o[0]] || (n && !o[2] ? o[2] = n : n && (o[2] = "(" + o[2] + ") and (" + n + ")"), t.push(o))
- }
- }, t
- }
- }, function (e, t, n) {
- var r, a, i = {}, o = (r = function () {
- return window && document && document.all && !window.atob
- }, function () {
- return void 0 === a && (a = r.apply(this, arguments)), a
- }), l = function (e) {
- var t = {};
- return function (e) {
- if ("function" == typeof e) return e();
- if (void 0 === t[e]) {
- var n = function (e) {
- return document.querySelector(e)
- }.call(this, e);
- if (window.HTMLIFrameElement && n instanceof window.HTMLIFrameElement) try {
- n = n.contentDocument.head
- } catch (e) {
- n = null
- }
- t[e] = n
- }
- return t[e]
- }
- }(), s = null, u = 0, c = [], p = n(57);
- function d(e, t) {
- for (var n = 0; n < e.length; n++) {
- var r = e[n], a = i[r.id];
- if (a) {
- a.refs++;
- for (var o = 0; o < a.parts.length; o++) a.parts[o](r.parts[o]);
- for (; o < r.parts.length; o++) a.parts.push(m(r.parts[o], t))
- } else {
- var l = [];
- for (o = 0; o < r.parts.length; o++) l.push(m(r.parts[o], t));
- i[r.id] = {id: r.id, refs: 1, parts: l}
- }
- }
- }
- function f(e, t) {
- for (var n = [], r = {}, a = 0; a < e.length; a++) {
- var i = e[a], o = t.base ? i[0] + t.base : i[0], l = {css: i[1], media: i[2], sourceMap: i[3]};
- r[o] ? r[o].parts.push(l) : n.push(r[o] = {id: o, parts: [l]})
- }
- return n
- }
- function g(e, t) {
- var n = l(e.insertInto);
- if (!n) throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
- var r = c[c.length - 1];
- if ("top" === e.insertAt) r ? r.nextSibling ? n.insertBefore(t, r.nextSibling) : n.appendChild(t) : n.insertBefore(t, n.firstChild), c.push(t); else if ("bottom" === e.insertAt) n.appendChild(t); else {
- if ("object" != typeof e.insertAt || !e.insertAt.before) throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");
- var a = l(e.insertInto + " " + e.insertAt.before);
- n.insertBefore(t, a)
- }
- }
- function h(e) {
- if (null === e.parentNode) return !1;
- e.parentNode.removeChild(e);
- var t = c.indexOf(e);
- t >= 0 && c.splice(t, 1)
- }
- function y(e) {
- var t = document.createElement("style");
- return e.attrs.type = "text/css", x(t, e.attrs), g(e, t), t
- }
- function x(e, t) {
- Object.keys(t).forEach(function (n) {
- e.setAttribute(n, t[n])
- })
- }
- function m(e, t) {
- var n, r, a, i;
- if (t.transform && e.css) {
- if (!(i = t.transform(e.css))) return function () {
- };
- e.css = i
- }
- if (t.singleton) {
- var o = u++;
- n = s || (s = y(t)), r = k.bind(null, n, o, !1), a = k.bind(null, n, o, !0)
- } else e.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa ? (n = function (e) {
- var t = document.createElement("link");
- return e.attrs.type = "text/css", e.attrs.rel = "stylesheet", x(t, e.attrs), g(e, t), t
- }(t), r = function (e, t, n) {
- var r = n.css, a = n.sourceMap, i = void 0 === t.convertToAbsoluteUrls && a;
- (t.convertToAbsoluteUrls || i) && (r = p(r));
- a && (r += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(a)))) + " */");
- var o = new Blob([r], {type: "text/css"}), l = e.href;
- e.href = URL.createObjectURL(o), l && URL.revokeObjectURL(l)
- }.bind(null, n, t), a = function () {
- h(n), n.href && URL.revokeObjectURL(n.href)
- }) : (n = y(t), r = function (e, t) {
- var n = t.css, r = t.media;
- r && e.setAttribute("media", r);
- if (e.styleSheet) e.styleSheet.cssText = n; else {
- for (; e.firstChild;) e.removeChild(e.firstChild);
- e.appendChild(document.createTextNode(n))
- }
- }.bind(null, n), a = function () {
- h(n)
- });
- return r(e), function (t) {
- if (t) {
- if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap) return;
- r(e = t)
- } else a()
- }
- }
- e.exports = function (e, t) {
- if ("undefined" != typeof DEBUG && DEBUG && "object" != typeof document) throw new Error("The style-loader cannot be used in a non-browser environment");
- (t = t || {}).attrs = "object" == typeof t.attrs ? t.attrs : {}, t.singleton || "boolean" == typeof t.singleton || (t.singleton = o()), t.insertInto || (t.insertInto = "head"), t.insertAt || (t.insertAt = "bottom");
- var n = f(e, t);
- return d(n, t), function (e) {
- for (var r = [], a = 0; a < n.length; a++) {
- var o = n[a];
- (l = i[o.id]).refs--, r.push(l)
- }
- e && d(f(e, t), t);
- for (a = 0; a < r.length; a++) {
- var l;
- if (0 === (l = r[a]).refs) {
- for (var s = 0; s < l.parts.length; s++) l.parts[s]();
- delete i[l.id]
- }
- }
- }
- };
- var v, b = (v = [], function (e, t) {
- return v[e] = t, v.filter(Boolean).join("\n")
- });
- function k(e, t, n, r) {
- var a = n ? "" : r.css;
- if (e.styleSheet) e.styleSheet.cssText = b(t, a); else {
- var i = document.createTextNode(a), o = e.childNodes;
- o[t] && e.removeChild(o[t]), o.length ? e.insertBefore(i, o[t]) : e.appendChild(i)
- }
- }
- }, function (e, t, n) {
- "use strict";
- e.exports = function (e) {
- var t = "undefined" != typeof window && window.location;
- if (!t) throw new Error("fixUrls requires window.location");
- if (!e || "string" != typeof e) return e;
- var n = t.protocol + "//" + t.host, r = n + t.pathname.replace(/\/[^\/]*$/, "/");
- return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function (e, t) {
- var a, i = t.trim().replace(/^"(.*)"$/, function (e, t) {
- return t
- }).replace(/^'(.*)'$/, function (e, t) {
- return t
- });
- return /^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i) ? e : (a = 0 === i.indexOf("//") ? i : 0 === i.indexOf("/") ? n + i : r + i.replace(/^\.\//, ""), "url(" + JSON.stringify(a) + ")")
- })
- }
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_enter", function () {
- for (var e = this.root, t = i.default.util, n = "", r = 1; r <= 12; r++) n += '<div class="xgplayer-enter-bar' + r + '"></div>';
- var a = t.createDom("xg-enter", '<div class="xgplayer-enter-spinner">\n ' + n + "\n </div>", {}, "xgplayer-enter");
- e.appendChild(a)
- })
- }, function (e, t, n) {
- "use strict";
- var r = o(n(0)), a = o(n(60)), i = o(n(61));
- function o(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_play", function () {
- var e = this, t = r.default.util, n = e.config.playBtn ? e.config.playBtn : {}, o = void 0;
- o = "img" === n.type ? t.createImgBtn("play", n.url.play, n.width, n.height) : t.createDom("xg-play", '<xg-icon class="xgplayer-icon">\n <div class="xgplayer-icon-play">' + a.default + '</div>\n <div class="xgplayer-icon-pause">' + i.default + "</div>\n </xg-icon>", {}, "xgplayer-play");
- var l = {};
- l.play = e.lang.PLAY_TIPS, l.pause = e.lang.PAUSE_TIPS;
- var s = t.createDom("xg-tips", '<span class="xgplayer-tip-play">' + l.play + '</span>\n <span class="xgplayer-tip-pause">' + l.pause + "</span>", {}, "xgplayer-tips");
- o.appendChild(s), e.once("ready", function () {
- e.controls.appendChild(o)
- }), ["click", "touchend"].forEach(function (t) {
- o.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("playBtnClick")
- })
- })
- })
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">\n <path transform="scale(0.0320625 0.0320625)" d="M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">\n <path transform="scale(0.0320625 0.0320625)" d="M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r = o(n(0)), a = o(n(63)), i = o(n(64));
- function o(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_start", function () {
- var e = this, t = e.root, n = r.default.util,
- o = n.createDom("xg-start", '<div class="xgplayer-icon-play">' + a.default + '</div>\n <div class="xgplayer-icon-pause">' + i.default + "</div>", {}, "xgplayer-start");
- e.once("ready", function () {
- t.appendChild(o)
- }), o.onclick = function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("startBtnClick")
- }, e.once("ready", function () {
- n.addClass(e.root, "xgplayer-skin-default"), e.config.lang && "en" === e.config.lang ? n.addClass(e.root, "lang-is-en") : "jp" === e.config.lang && n.addClass(e.root, "lang-is-jp")
- })
- })
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="70" height="70" viewBox="0 0 70 70">\n <path transform="scale(0.04,0.04)" d="M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="70" height="70" viewBox="0 0 70 70">\n <path transform="scale(0.04 0.04)" d="M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_poster", function () {
- var e = this.root, t = i.default.util;
- if (this.config.poster) {
- var n = t.createDom("xg-poster", "", {}, "xgplayer-poster");
- n.style.backgroundImage = "url(" + this.config.poster + ")", e.appendChild(n)
- }
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_flex", function () {
- this.root;
- var e = i.default.util.createDom("xg-placeholder", "", {}, "xgplayer-placeholder");
- this.controls.appendChild(e)
- })
- }, function (e, t, n) {
- "use strict";
- var r = o(n(0)), a = o(n(68)), i = o(n(69));
- function o(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_fullscreen", function () {
- var e = this, t = r.default.util, n = e.config.fullscreenBtn ? e.config.fullscreenBtn : {}, o = void 0;
- o = "img" === n.type ? t.createImgBtn("fullscreen", n.url.request, n.width, n.height) : t.createDom("xg-fullscreen", '<xg-icon class="xgplayer-icon">\n <div class="xgplayer-icon-requestfull">' + a.default + '</div>\n <div class="xgplayer-icon-exitfull">' + i.default + "</div>\n </xg-icon>", {}, "xgplayer-fullscreen");
- var l = {};
- l.requestfull = e.lang.FULLSCREEN_TIPS, l.exitfull = e.lang.EXITFULLSCREEN_TIPS;
- var s = t.createDom("xg-tips", '<span class="xgplayer-tip-requestfull">' + l.requestfull + '</span>\n <span class="xgplayer-tip-exitfull">' + l.exitfull + "</span>", {}, "xgplayer-tips");
- o.appendChild(s), e.once("ready", function () {
- e.controls.appendChild(o)
- }), ["click", "touchend"].forEach(function (t) {
- o.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("fullscreenBtnClick")
- })
- })
- })
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">\n <path transform="scale(0.0320625 0.0320625)" d="M598 214h212v212h-84v-128h-128v-84zM726 726v-128h84v212h-212v-84h128zM214 426v-212h212v84h-128v128h-84zM298 598v128h128v84h-212v-212h84z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">\n <path transform="scale(0.0320625 0.0320625)" d="M682 342h128v84h-212v-212h84v128zM598 810v-212h212v84h-128v128h-84zM342 342v-128h84v212h-212v-84h128zM214 682v-84h212v212h-84v-128h-128z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r = o(n(0)), a = o(n(71)), i = o(n(72));
- function o(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_cssFullscreen", function () {
- var e = this, t = r.default.util;
- if (e.config.cssFullscreen) {
- var n = t.createDom("xg-cssfullscreen", '<xg-icon class="xgplayer-icon">\n <div class="xgplayer-icon-requestfull">' + a.default + '</div>\n <div class="xgplayer-icon-exitfull">' + i.default + "</div>\n </xg-icon>", {}, "xgplayer-cssfullscreen"),
- o = {};
- o.requestfull = e.lang.CSSFULLSCREEN_TIPS, o.exitfull = e.lang.EXITCSSFULLSCREEN_TIPS;
- var l = t.createDom("xg-tips", '<span class="xgplayer-tip-requestfull">' + o.requestfull + '</span>\n <span class="xgplayer-tip-exitfull">' + o.exitfull + "</span>", {}, "xgplayer-tips");
- n.appendChild(l), e.once("ready", function () {
- e.controls.appendChild(n)
- }), ["click", "touchend"].forEach(function (t) {
- n.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("cssFullscreenBtnClick")
- })
- })
- }
- })
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">\n <path transform="scale(0.028 0.028)" d="M843.617212 67.898413 175.411567 67.898413c-61.502749 0-111.367437 49.856501-111.367437 111.367437l0 668.205645c0 61.510936 49.864688 111.367437 111.367437 111.367437L843.617212 958.838931c61.510936 0 111.367437-49.856501 111.367437-111.367437L954.984648 179.26585C954.984648 117.754914 905.12917 67.898413 843.617212 67.898413zM398.146441 736.104057c15.380292 0 27.842115 12.461823 27.842115 27.842115 0 15.379269-12.461823 27.841092-27.842115 27.841092L259.725858 791.787264c-7.785314 0-14.781658-3.217275-19.838837-8.365528-5.383614-4.577249-8.791224-11.228739-8.791224-19.475564L231.095797 624.736621c0-15.371082 12.471033-27.842115 27.842115-27.842115 15.380292 0 27.842115 12.471033 27.842115 27.842115l-0.61603 71.426773 133.036969-133.037992 39.378869 39.378869L324.962651 736.113267 398.146441 736.104057zM419.199942 463.611943 286.162974 330.565764l0.61603 71.435982c0 15.380292-12.461823 27.842115-27.842115 27.842115-15.371082 0-27.842115-12.461823-27.842115-27.842115L231.094774 262.791172c0-8.256034 3.40761-14.908548 8.791224-19.476587 5.057179-5.148253 12.053524-8.374738 19.838837-8.374738l138.420583 0.00921c15.380292 0 27.842115 12.461823 27.842115 27.842115s-12.461823 27.842115-27.842115 27.842115l-73.175603-0.00921 133.607974 133.607974L419.199942 463.611943zM787.932981 763.946172c0 8.247848-3.40761 14.899338-8.791224 19.475564-5.057179 5.148253-12.053524 8.365528-19.839861 8.365528L620.881314 791.787264c-15.379269 0-27.841092-12.461823-27.841092-27.841092 0-15.380292 12.461823-27.842115 27.841092-27.842115l73.185836 0.00921L560.449967 602.50427l39.378869-39.378869L732.875015 696.163393l-0.62524-71.426773c0-15.371082 12.462846-27.842115 27.842115-27.842115 15.380292 0 27.842115 12.471033 27.842115 27.842115L787.934005 763.946172zM787.932981 402.000724c0 15.380292-12.461823 27.842115-27.842115 27.842115-15.379269 0-27.842115-12.461823-27.842115-27.842115l0.62524-71.435982L599.828836 463.611943l-39.378869-39.378869 133.617184-133.607974-73.185836 0.00921c-15.379269 0-27.841092-12.461823-27.841092-27.842115s12.461823-27.842115 27.841092-27.842115l138.421606-0.00921c7.785314 0 14.781658 3.226484 19.839861 8.374738 5.383614 4.568039 8.791224 11.219529 8.791224 19.476587L787.934005 402.000724z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">\n <path transform="scale(0.028 0.028)" d="M834.56 81.92H189.44c-59.392 0-107.52 48.128-107.52 107.52v645.12c0 59.392 48.128 107.52 107.52 107.52h645.12c59.392 0 107.52-48.128 107.52-107.52V189.44c0-59.392-48.128-107.52-107.52-107.52zM458.24 727.04c0 14.848-12.288 26.624-26.624 26.624S404.48 741.888 404.48 727.04v-69.632L289.28 773.12c-10.752 10.24-27.648 10.24-37.888 0-10.24-10.752-10.24-27.648 0-37.888L366.592 619.52H296.96c-14.848 0-26.624-12.288-26.624-26.624s12.288-26.624 26.624-26.624h134.144c14.848 0 26.624 12.288 26.624 26.624V727.04z m0-295.936c0 14.848-12.288 26.624-26.624 26.624H296.96c-14.848 0-26.624-12.288-26.624-26.624S282.112 404.48 296.96 404.48h69.632L251.392 289.28c-10.24-10.752-10.24-27.648 0-37.888 5.12-5.12 12.288-7.68 18.944-7.68 6.656 0 13.824 2.56 18.944 7.68L404.48 366.592V296.96c0-14.848 12.288-26.624 26.624-26.624s26.624 12.288 26.624 26.624v134.144zM773.12 773.12c-10.752 10.24-27.648 10.24-37.888 0L619.52 657.408V727.04c0 14.848-12.288 26.624-26.624 26.624s-26.624-11.776-26.624-26.624v-134.144c0-14.848 12.288-26.624 26.624-26.624H727.04c14.848 0 26.624 12.288 26.624 26.624s-12.288 26.624-26.624 26.624h-69.632l115.2 115.2c10.752 10.752 10.752 27.648 0.512 38.4z m0-483.84L657.408 404.48H727.04c14.848 0 26.624 12.288 26.624 26.624 0 14.848-12.288 26.624-26.624 26.624h-134.144c-14.848 0-26.624-12.288-26.624-26.624V296.96c0-14.848 12.288-26.624 26.624-26.624s26.624 12.288 26.624 26.624v69.632L734.72 250.88c5.12-5.12 12.288-7.68 18.944-7.68s13.824 2.56 18.944 7.68c10.752 10.752 10.752 27.648 0.512 38.4z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r = l(n(0)), a = l(n(74)), i = l(n(75)), o = l(n(76));
- function l(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_volume", function () {
- var e = this,
- t = r.default.util.createDom("xg-volume", '<xg-icon class="xgplayer-icon">\n <div class="xgplayer-icon-large">' + o.default + '</div>\n <div class="xgplayer-icon-small">' + i.default + '</div>\n <div class="xgplayer-icon-muted">' + a.default + '</div>\n </xg-icon>\n <xg-slider class="xgplayer-slider" tabindex="2">\n <xg-bar class="xgplayer-bar">\n <xg-drag class="xgplayer-drag"></xg-drag>\n </xg-bar>\n </xg-slider>', {}, "xgplayer-volume");
- e.once("ready", function () {
- e.controls.appendChild(t)
- });
- var n = t.querySelector(".xgplayer-slider"), l = t.querySelector(".xgplayer-bar"),
- s = t.querySelector(".xgplayer-drag"), u = t.querySelector(".xgplayer-icon");
- s.style.height = 100 * e.config.volume + "%", n.volume = e.config.volume, ["mousedown", "touchstart"].forEach(function (t) {
- l.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("volumeBarClick", t)
- })
- }), ["click", "touchend"].forEach(function (t) {
- u.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("volumeIconClick")
- })
- }), u.addEventListener("mouseenter", function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("volumeIconEnter")
- }), ["blur", "mouseleave"].forEach(function (n) {
- t.addEventListener(n, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("volumeIconLeave")
- })
- })
- })
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">\n <path transform="scale(0.0220625 0.0220625)" d="M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z"></path>\n <path transform="scale(0.0220625 0.0220625)" d="M920.4 439.808l-108.544-109.056-72.704 72.704 109.568 108.544-109.056 108.544 72.704 72.704 108.032-109.568 108.544 109.056 72.704-72.704-109.568-108.032 109.056-108.544-72.704-72.704-108.032 109.568z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">\n <path transform="scale(0.0220625 0.0220625)" d="M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z"></path>\n <path transform="scale(0.0220625 0.0220625)" d="M795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">\n <path transform="scale(0.0220625 0.0220625)" d="M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z"></path>\n <path transform="scale(0.0220625 0.0220625)" d="M940.632 837.632l-72.192-72.192c65.114-64.745 105.412-154.386 105.412-253.44s-40.299-188.695-105.396-253.424l-0.016-0.016 72.192-72.192c83.639 83.197 135.401 198.37 135.401 325.632s-51.762 242.434-135.381 325.612l-0.020 0.020zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_definition", function () {
- var e = this, t = e.root, n = i.default.util, r = i.default.sniffer, a = void 0,
- o = n.createDom("xg-definition", "", {tabindex: 3}, "xgplayer-definition");
- function l() {
- var r = e.definitionList, a = ["<ul>"], i = e.config.url, l = document.createElement("a");
- e.switchURL ? ["mp4", "hls", "__flv__", "dash"].every(function (t) {
- return !e[t] || (e[t].url && (l.href = e[t].url), "__flv__" === t && (e[t]._options ? l.href = e[t]._options.url : l.href = e[t]._mediaDataSource.url), i = l.href, !1)
- }) : i = e.currentSrc || e.src, e.hls && (l.href = e.hls.url, i = l.href), r.forEach(function (t) {
- l.href = t.url, e.dash ? a.push("<li url='" + t.url + "' cname='" + t.name + "' class='" + (t.selected ? "selected" : "") + "'>" + t.name + "</li>") : a.push("<li url='" + t.url + "' cname='" + t.name + "' class='" + (l.href === i ? "selected" : "") + "'>" + t.name + "</li>")
- });
- var s = r.filter(function (t) {
- return l.href = t.url, e.dash ? !0 === t.selected : l.href === i
- });
- a.push("</ul><p class='name'>" + (s[0] || {name: ""}).name + "</p>");
- var u = t.querySelector(".xgplayer-definition");
- if (u) {
- u.innerHTML = a.join("");
- var c = u.querySelector(".name");
- e.config.definitionActive && "hover" !== e.config.definitionActive || c.addEventListener("mouseenter", function (t) {
- t.preventDefault(), t.stopPropagation(), n.addClass(e.root, "xgplayer-definition-active"), u.focus()
- })
- } else {
- o.innerHTML = a.join("");
- var p = o.querySelector(".name");
- e.config.definitionActive && "hover" !== e.config.definitionActive || p.addEventListener("mouseenter", function (t) {
- t.preventDefault(), t.stopPropagation(), n.addClass(e.root, "xgplayer-definition-active"), o.focus()
- }), e.controls.appendChild(o)
- }
- }
- function s(r) {
- e.definitionList = r, r && r instanceof Array && r.length > 1 && (n.addClass(t, "xgplayer-is-definition"), e.on("canplay", l))
- }
- function u() {
- e.currentTime = e.curTime, a || e.play()
- }
- "mobile" === r.device && (e.config.definitionActive = "click"), e.on("resourceReady", s), ["touchend", "click"].forEach(function (t) {
- o.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation();
- var i = e.definitionList, l = t.target || t.srcElement, s = document.createElement("a");
- if (l && "li" === l.tagName.toLocaleLowerCase()) {
- e.emit("beforeDefinitionChange", s.href);
- var c, p = void 0;
- if (Array.prototype.forEach.call(l.parentNode.childNodes, function (e) {
- n.hasClass(e, "selected") && (p = e.getAttribute("cname"), n.removeClass(e, "selected"))
- }), e.dash && i.forEach(function (e) {
- e.selected = !1, e.name === l.innerHTML && (e.selected = !0)
- }), n.addClass(l, "selected"), c = l.getAttribute("cname"), l.parentNode.nextSibling.innerHTML = "" + l.getAttribute("cname"), s.href = l.getAttribute("url"), e.switchURL) {
- var d = document.createElement("a");
- ["mp4", "hls", "__flv__", "dash"].every(function (t) {
- return !e[t] || (e[t].url && (d.href = e[t].url), "__flv__" === t && (e[t]._options ? d.href = e[t]._options.url : d.href = e[t]._mediaDataSource.url), !1)
- }), d.href === s.href || e.ended || e.switchURL(s.href)
- } else e.hls && (document.createElement("a"), e.hls.url), s.href !== e.currentSrc && (e.curTime = e.currentTime, a = e.paused, e.ended || (e.src = s.href, e.once("canplay", u)));
- e.emit("definitionChange", {
- from: p,
- to: c
- }), "mobile" === r.device && n.removeClass(e.root, "xgplayer-definition-active")
- } else "click" !== e.config.definitionActive || !l || "p" !== l.tagName.toLocaleLowerCase() && "em" !== l.tagName.toLocaleLowerCase() || (n.addClass(e.root, "xgplayer-definition-active"), o.focus());
- e.emit("focus")
- }, !1)
- }), o.addEventListener("mouseleave", function (e) {
- e.preventDefault(), e.stopPropagation(), n.removeClass(t, "xgplayer-definition-active")
- }), e.once("destroy", function t() {
- e.off("resourceReady", s), e.off("canplay", l), e.off("canplay", u), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r = i(n(0)), a = i(n(79));
- function i(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_loading", function () {
- var e = this.root, t = r.default.util.createDom("xg-loading", "" + a.default, {}, "xgplayer-loading");
- this.once("ready", function () {
- e.appendChild(t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewbox="0 0 100 100">\n <path d="M100,50A50,50,0,1,1,50,0"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_progress", function () {
- var e = this, t = i.default.util,
- n = t.createDom("xg-progress", '<xg-outer class="xgplayer-progress-outer">\n <xg-cache class="xgplayer-progress-cache"></xg-cache>\n <xg-played class="xgplayer-progress-played"></xgplayer-played>\n <xg-progress-btn class="xgplayer-progress-btn"></xg-progress-btn>\n <xg-point class="xgplayer-progress-point xgplayer-tips"></xg-point>\n <xg-thumbnail class="xgplayer-progress-thumbnail xgplayer-tips"></xg-thumbnail>\n </xg-outer>', {tabindex: 1}, "xgplayer-progress"),
- r = void 0;
- e.controls.appendChild(n);
- var a = n.querySelector(".xgplayer-progress-played"), o = n.querySelector(".xgplayer-progress-btn"),
- l = n.querySelector(".xgplayer-progress-outer"), s = n.querySelector(".xgplayer-progress-cache"),
- u = n.querySelector(".xgplayer-progress-point"), c = n.querySelector(".xgplayer-progress-thumbnail");
- function p(r, a) {
- r.addEventListener("mouseenter", function (e) {
- a && (t.addClass(r, "xgplayer-progress-dot-show"), t.addClass(n, "xgplayer-progress-dot-active"))
- }), r.addEventListener("mouseleave", function (e) {
- a && (t.removeClass(r, "xgplayer-progress-dot-show"), t.removeClass(n, "xgplayer-progress-dot-active"))
- }), r.addEventListener("touchend", function (i) {
- i.preventDefault(), i.stopPropagation(), a && (t.hasClass(r, "xgplayer-progress-dot-show") || Object.keys(e.dotArr).forEach(function (n) {
- e.dotArr[n] && t.removeClass(e.dotArr[n], "xgplayer-progress-dot-show")
- }), t.toggleClass(r, "xgplayer-progress-dot-show"), t.toggleClass(n, "xgplayer-progress-dot-active"))
- })
- }
- function d() {
- e.config.progressDot && "Array" === t.typeOf(e.config.progressDot) && e.config.progressDot.forEach(function (n) {
- if (n.time >= 0 && n.time <= e.duration) {
- var r = t.createDom("xg-progress-dot", n.text ? '<span class="xgplayer-progress-tip">' + n.text + "</span>" : "", {}, "xgplayer-progress-dot");
- r.style.left = n.time / e.duration * 100 + "%", l.appendChild(r), e.dotArr[n.time] = r, p(r, n.text)
- }
- })
- }
- e.dotArr = {}, e.once("canplay", d), e.addProgressDot = function (n, r) {
- if (!e.dotArr[n] && n >= 0 && n <= e.duration) {
- var a = t.createDom("xg-progress-dot", "", {}, "xgplayer-progress-dot");
- a.style.left = n / e.duration * 100 + "%", l.appendChild(a), e.dotArr[n] = a, p(a, r)
- }
- }, e.removeProgressDot = function (t) {
- if (t >= 0 && t <= e.duration && e.dotArr[t]) {
- var n = e.dotArr[t];
- n.parentNode.removeChild(n), n = null, e.dotArr[t] = null
- }
- }, e.removeAllProgressDot = function () {
- Object.keys(e.dotArr).forEach(function (t) {
- if (e.dotArr[t]) {
- var n = e.dotArr[t];
- n.parentNode.removeChild(n), n = null, e.dotArr[t] = null
- }
- })
- };
- var f = 0, g = 0, h = 0, y = 0, x = 0, m = 0, v = [];
- e.config.thumbnail && (f = e.config.thumbnail.pic_num, g = e.config.thumbnail.width, h = e.config.thumbnail.height, y = e.config.thumbnail.col, x = e.config.thumbnail.row, v = e.config.thumbnail.urls, c.style.width = g + "px", c.style.height = h + "px"), ["touchstart", "mousedown"].forEach(function (i) {
- n.addEventListener(i, function (i) {
- if (i.preventDefault(), i.stopPropagation(), t.event(i), i._target === u || !e.config.allowSeekAfterEnded && e.ended) return !1;
- n.focus(), r = n.getBoundingClientRect().width;
- var l = a.getBoundingClientRect().left, s = function (n) {
- n.preventDefault(), n.stopPropagation(), t.event(n), e.isProgressMoving = !0;
- var i = n.clientX - l > r ? r : n.clientX - l, s = i / r * e.duration;
- if (a.style.width = 100 * i / r + "%", i - 7 < 0 ? (o.style.left = "0px", o.style.transform = "") : i + 7 > r ? (o.style.left = r - 14 + "px", o.style.transform = "") : (o.style.left = "100%", o.style.transform = "translate(-50%, 0)"), "video" !== e.videoConfig.mediaType || e.dash || e.config.closeMoveSeek) {
- var u = t.findDom(e.controls, ".xgplayer-time");
- u && (u.innerHTML = "<span>" + t.format(s || 0) + "</span><em>" + t.format(e.duration))
- } else e.currentTime = Number(s).toFixed(1);
- e.emit("focus")
- }, c = function i(u) {
- if (u.preventDefault(), u.stopPropagation(), t.event(u), window.removeEventListener("mousemove", s), window.removeEventListener("touchmove", s, {passive: !1}), window.removeEventListener("mouseup", i), window.removeEventListener("touchend", i), n.blur(), !e.isProgressMoving || "audio" === e.videoConfig.mediaType || e.dash || e.config.closeMoveSeek) {
- var c = u.clientX - l, p = c / r * e.duration;
- a.style.width = 100 * c / r + "%", c - 7 < 0 ? (o.style.left = "0px", o.style.transform = "") : c + 7 > r ? (o.style.left = r - 14 + "px", o.style.transform = "") : (o.style.left = "100%", o.style.transform = "translate(-50%, 0)"), e.currentTime = Number(p).toFixed(1)
- }
- e.emit("focus"), e.isProgressMoving = !1
- };
- return window.addEventListener("mousemove", s), window.addEventListener("touchmove", s, {passive: !1}), window.addEventListener("mouseup", c), window.addEventListener("touchend", c), !1
- })
- }), n.addEventListener("mouseenter", function (r) {
- if (!e.config.allowSeekAfterEnded && e.ended) return !1;
- var a = n.getBoundingClientRect().left, i = n.getBoundingClientRect().width, o = function (r) {
- var o = (r.clientX - a) / i * e.duration;
- o = o < 0 ? 0 : o, u.textContent = t.format(o);
- var l = u.getBoundingClientRect().width;
- if (e.config.thumbnail) {
- m = e.duration / f;
- var s = Math.floor(o / m);
- c.style.backgroundImage = "url(" + v[Math.ceil((s + 1) / (y * x)) - 1] + ")";
- var p = s + 1 - y * x * (Math.ceil((s + 1) / (y * x)) - 1), d = Math.ceil(p / x) - 1,
- b = p - d * x - 1;
- c.style["background-position"] = "-" + b * g + "px -" + d * h + "px";
- var k = r.clientX - a - g / 2;
- k = (k = k > 0 ? k : 0) < i - g ? k : i - g, c.style.left = k + "px", c.style.top = -10 - h + "px", c.style.display = "block", u.style.left = k + g / 2 - l / 2 + "px"
- } else {
- var w = r.clientX - a - l / 2;
- w = (w = w > 0 ? w : 0) > i - l ? i - l : w, u.style.left = w + "px"
- }
- t.hasClass(n, "xgplayer-progress-dot-active") ? u.style.display = "none" : u.style.display = "block"
- }, l = function (e) {
- o(e)
- };
- n.addEventListener("mousemove", l, !1), n.addEventListener("mouseleave", function e(t) {
- n.removeEventListener("mousemove", l, !1), n.removeEventListener("mouseleave", e, !1), o(t), u.style.display = "none", c.style.display = "none"
- }, !1), o(r)
- }, !1);
- var b = !1, k = function () {
- if (!r && n && (r = n.getBoundingClientRect().width), "audio" !== e.videoConfig.mediaType || !e.isProgressMoving || !e.dash) {
- a.style.width = 100 * e.currentTime / e.duration + "%";
- var t = e.currentTime / e.duration * r - 7;
- if (t < 0) o.style.left = "0px", o.style.transform = "", b = !1; else if (t + 14 > r) o.style.left = r - 14 + "px", o.style.transform = "", b = !1; else {
- if (b) return;
- o.style.left = "100%", o.style.transform = "translate(-50%, 0)", b = !0
- }
- }
- };
- e.on("timeupdate", k);
- var w = function () {
- var t = e.buffered;
- if (t && t.length > 0) {
- for (var n = t.end(t.length - 1), r = 0, a = t.length; r < a; r++) if (e.currentTime >= t.start(r) && e.currentTime <= t.end(r)) {
- n = t.end(r);
- for (var i = r + 1; i < t.length; i++) if (t.start(i) - t.end(i - 1) >= 2) {
- n = t.end(i - 1);
- break
- }
- break
- }
- s.style.width = n / e.duration * 100 + "%"
- }
- }, _ = ["bufferedChange", "cacheupdate", "ended", "timeupdate"];
- _.forEach(function (t) {
- e.on(t, w)
- }), e.once("destroy", function t() {
- e.removeAllProgressDot(), e.off("canplay", d), e.off("timeupdate", k), _.forEach(function (t) {
- e.off(t, w)
- }), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_time", function () {
- var e = this, t = (e.root, i.default.util),
- n = t.createDom("xg-time", "<span>" + (e.currentTime || t.format(0)) + "</span>\n <em>" + (e.duration || t.format(0)) + "</em>", {}, "xgplayer-time");
- e.once("ready", function () {
- e.controls.appendChild(n)
- });
- var r = function () {
- "audio" === e.videoConfig.mediaType && e.isProgressMoving && e.dash || (n.innerHTML = "<span>" + t.format(e.currentTime || 0) + "</span><em>" + t.format(e.duration) + "</em>")
- };
- e.on("durationchange", r), e.on("timeupdate", r), e.once("destroy", function t() {
- e.off("durationchange", r), e.off("timeupdate", r), e.off("destroy", t)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r = i(n(0)), a = i(n(83));
- function i(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_replay", function () {
- var e = this, t = r.default.util, n = e.root;
- if (!(navigator.userAgent.indexOf("iPhone OS 9") > -1)) {
- var i = e.lang.REPLAY,
- o = t.createDom("xg-replay", a.default + '\n <xg-replay-txt class="xgplayer-replay-txt">' + i + "</xg-replay-txt>\n ", {}, "xgplayer-replay");
- e.once("ready", function () {
- n.appendChild(o)
- });
- var l = o.querySelector("svg");
- ["click", "touchend"].forEach(function (t) {
- l.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("replayBtnClick")
- })
- })
- }
- })
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg class="xgplayer-replay-svg" xmlns="http://www.w3.org/2000/svg" width="78" height="78" viewbox="0 0 78 78">\n <path d="M8.22708362,13.8757234 L11.2677371,12.6472196 C11.7798067,12.4403301 12.3626381,12.6877273 12.5695276,13.1997969 L12.9441342,14.1269807 C13.1510237,14.6390502 12.9036264,15.2218816 12.3915569,15.4287712 L6.8284538,17.6764107 L5.90126995,18.0510173 C5.38920044,18.2579068 4.80636901,18.0105096 4.5994795,17.49844 L1.97723335,11.0081531 C1.77034384,10.4960836 2.0177411,9.91325213 2.52981061,9.70636262 L3.45699446,9.33175602 C3.96906396,9.12486652 4.5518954,9.37226378 4.75878491,9.88433329 L5.67885163,12.1615783 C7.99551726,6.6766934 13.3983951,3 19.5,3 C27.7842712,3 34.5,9.71572875 34.5,18 C34.5,26.2842712 27.7842712,33 19.5,33 C15.4573596,33 11.6658607,31.3912946 8.87004692,28.5831991 C8.28554571,27.9961303 8.28762719,27.0463851 8.87469603,26.4618839 C9.46176488,25.8773827 10.4115101,25.8794641 10.9960113,26.466533 C13.2344327,28.7147875 16.263503,30 19.5,30 C26.127417,30 31.5,24.627417 31.5,18 C31.5,11.372583 26.127417,6 19.5,6 C14.4183772,6 9.94214483,9.18783811 8.22708362,13.8757234 Z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_playbackRate", function () {
- var e = this, t = i.default.util;
- if (!e.config.playbackRate) return !1;
- e.config.playbackRate.sort(function (e, t) {
- return t - e
- });
- var n = t.createDom("xg-playbackrate", " ", {}, "xgplayer-playbackrate"), r = [];
- e.config.playbackRate.forEach(function (e) {
- r.push({name: "" + e, rate: e + "x", selected: !1})
- });
- var a = 1, o = ["<ul>"];
- r.forEach(function (t) {
- e.config.defaultPlaybackRate && e.config.defaultPlaybackRate.toString() === t.name ? (t.selected = !0, a = e.config.defaultPlaybackRate, e.once("playing", function () {
- e.video.playbackRate = e.config.defaultPlaybackRate
- })) : "1.0" !== t.name && "1" !== t.name || e.config.defaultPlaybackRate && 1 !== e.config.defaultPlaybackRate || (t.selected = !0), o.push("<li cname='" + t.name + "' class='" + (t.selected ? "selected" : "") + "'>" + t.rate + "</li>")
- }), o.push("</ul><p class='name'>" + a + "x</p>");
- var l = e.root.querySelector(".xgplayer-playbackrate");
- if (l) {
- if (l.innerHTML = o.join(""), !l) return;
- l.querySelector(".name").addEventListener("mouseenter", function (n) {
- n.preventDefault(), n.stopPropagation(), t.addClass(e.root, "xgplayer-playbackrate-active"), l.focus()
- })
- } else {
- if (n.innerHTML = o.join(""), !n) return;
- n.querySelector(".name").addEventListener("mouseenter", function (r) {
- r.preventDefault(), r.stopPropagation(), t.addClass(e.root, "xgplayer-playbackrate-active"), n.focus()
- }), e.once("ready", function () {
- e.controls.appendChild(n)
- })
- }
- ["touchend", "click"].forEach(function (i) {
- n.addEventListener(i, function (i) {
- i.stopPropagation(), i.preventDefault();
- var o = i.target;
- if (o && "li" === o.tagName.toLocaleLowerCase()) {
- var l, s = void 0;
- r.forEach(function (n) {
- n.selected = !1, o.textContent.replace(/\s+/g, "") === n.rate && (Array.prototype.forEach.call(o.parentNode.childNodes, function (e) {
- t.hasClass(e, "selected") && (s = parseFloat(e.getAttribute("cname")), t.removeClass(e, "selected"))
- }), n.selected = !0, e.video.playbackRate = 1 * n.name, a = 1 * n.name)
- }), t.addClass(o, "selected"), l = parseFloat(o.getAttribute("cname")), o.parentNode.nextSibling.innerHTML = o.getAttribute("cname") + "x", e.emit("playbackrateChange", {
- from: s,
- to: l
- })
- } else !o || "p" !== o.tagName.toLocaleLowerCase() && "span" !== o.tagName.toLocaleLowerCase() || (t.addClass(e.root, "xgplayer-playbackrate-active"), n.focus());
- e.emit("focus")
- }, !1)
- }), n.addEventListener("mouseleave", function (n) {
- n.preventDefault(), n.stopPropagation(), t.removeClass(e.root, "xgplayer-playbackrate-active")
- }), e.on("play", function () {
- e.video.playbackRate.toFixed(1) !== a.toFixed(1) && (e.video.playbackRate = a)
- })
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_localPreview", function () {
- var e = this, t = (e.root, i.default.util);
- if (e.config.preview && e.config.preview.uploadEl) {
- var n = t.createDom("xg-preview", '<input type="file">', {}, "xgplayer-preview"),
- r = n.querySelector("input");
- e.config.preview.uploadEl.appendChild(n), r.onchange = function () {
- e.emit("upload", r)
- }
- }
- })
- }, function (e, t, n) {
- "use strict";
- var r = i(n(0)), a = i(n(87));
- function i(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_download", function () {
- var e = this, t = r.default.util;
- if (e.config.download) {
- var n = t.createDom("xg-download", '<xg-icon class="xgplayer-icon">' + a.default + "</xg-icon>", {}, "xgplayer-download"),
- i = e.lang.DOWNLOAD_TIPS,
- o = t.createDom("xg-tips", '<span class="xgplayer-tip-download">' + i + "</span>", {}, "xgplayer-tips");
- n.appendChild(o), e.once("ready", function () {
- e.controls.appendChild(n)
- }), ["click", "touchend"].forEach(function (t) {
- n.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("downloadBtnClick")
- })
- })
- }
- })
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24">\n <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n <g transform="translate(-488.000000, -340.000000)" fill="#FFFFFF">\n <g id="Group-2">\n <g id="volme_big-copy" transform="translate(488.000000, 340.000000)">\n <rect id="Rectangle-18" x="11" y="4" width="2" height="12" rx="1"></rect>\n <rect id="Rectangle-2" x="3" y="18" width="18" height="2" rx="1"></rect>\n <rect id="Rectangle-2" transform="translate(4.000000, 17.500000) rotate(90.000000) translate(-4.000000, -17.500000) " x="1.5" y="16.5" width="5" height="2" rx="1"></rect><rect id="Rectangle-2-Copy-3" transform="translate(20.000000, 17.500000) rotate(90.000000) translate(-20.000000, -17.500000) " x="17.5" y="16.5" width="5" height="2" rx="1"></rect>\n <path d="M9.48791171,8.26502656 L9.48791171,14.2650266 C9.48791171,14.8173113 9.04019646,15.2650266 8.48791171,15.2650266 C7.93562696,15.2650266 7.48791171,14.8173113 7.48791171,14.2650266 L7.48791171,7.26502656 C7.48791171,6.71274181 7.93562696,6.26502656 8.48791171,6.26502656 L15.4879117,6.26502656 C16.0401965,6.26502656 16.4879117,6.71274181 16.4879117,7.26502656 C16.4879117,7.81731131 16.0401965,8.26502656 15.4879117,8.26502656 L9.48791171,8.26502656 Z" id="Combined-Shape" transform="translate(11.987912, 10.765027) scale(1, -1) rotate(45.000000) translate(-11.987912, -10.765027) "></path>\n </g>\n </g>\n </g>\n </g>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r = o(n(0)), a = o(n(89)), i = o(n(91));
- function o(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_danmu", function () {
- var e = this, t = e.root, n = r.default.util;
- if (e.config.danmu) {
- var o = n.createDom("xg-danmu", "", {}, "xgplayer-danmu");
- e.once("ready", function () {
- t.appendChild(o)
- });
- var l = n.deepCopy({
- container: o,
- player: e.video,
- comments: [],
- area: {start: 0, end: 1}
- }, e.config.danmu),
- s = void 0;
- e.config.danmu.panel && (s = r.default.util.createDom("xg-panel", '<xg-panel-icon class="xgplayer-panel-icon">\n ' + i.default + '\n </xg-panel-icon>\n <xg-panel-slider class="xgplayer-panel-slider">\n <xg-hidemode class="xgplayer-hidemode">\n <p class="xgplayer-hidemode-font">屏蔽类型</p>\n <ul class="xgplayer-hidemode-radio">\n <li class="xgplayer-hidemode-scroll" id="false">滚动</li><li class="xgplayer-hidemode-top" id="false">顶部</li><li class="xgplayer-hidemode-bottom" id="false">底部</li><li class="xgplayer-hidemode-color" id="false">色彩</li>\n </ul>\n </xg-hidemode>\n <xg-transparency class="xgplayer-transparency">\n <span>不透明度</span>\n <input class="xgplayer-transparency-line xgplayer-transparency-color xgplayer-transparency-bar xgplayer-transparency-gradient" type="range" min="0" max="100" step="0.1" value="50"></input>\n </xg-transparency>\n <xg-showarea class="xgplayer-showarea">\n <div class="xgplayer-showarea-name">显示区域</div>\n <div class="xgplayer-showarea-control">\n <div class="xgplayer-showarea-control-up">\n <span class="xgplayer-showarea-control-up-item xgplayer-showarea-onequarters">1/4</span>\n <span class="xgplayer-showarea-control-up-item xgplayer-showarea-twoquarters selected-color">1/2</span>\n <span class="xgplayer-showarea-control-up-item xgplayer-showarea-threequarters">3/4</span>\n <span class="xgplayer-showarea-control-up-item xgplayer-showarea-full">1</span>\n </div>\n <div class="xgplayer-showarea-control-down">\n <div class="xgplayer-showarea-control-down-dots">\n <span class="xgplayer-showarea-onequarters-dot"></span>\n <span class="xgplayer-showarea-twoquarters-dot"></span>\n <span class="xgplayer-showarea-threequarters-dot"></span>\n <span class="xgplayer-showarea-full-dot"></span>\n </div>\n <input class="xgplayer-showarea-line xgplayer-showarea-color xgplayer-showarea-bar xgplayer-gradient" type="range" min="1" max="4" step="1" value="1">\n </div>\n </div>\n </xg-showarea>\n <xg-danmuspeed class="xgplayer-danmuspeed">\n <div class="xgplayer-danmuspeed-name">弹幕速度</div>\n <div class="xgplayer-danmuspeed-control">\n <div class="xgplayer-danmuspeed-control-up">\n <span class="xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-small">慢</span>\n <span class="xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-middle selected-color">中</span>\n <span class="xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-large">快</span>\n </div>\n <div class="xgplayer-danmuspeed-control-down">\n <div class="xgplayer-danmuspeed-control-down-dots">\n <span class="xgplayer-danmuspeed-small-dot"></span>\n <span class="xgplayer-danmuspeed-middle-dot"></span>\n <span class="xgplayer-danmuspeed-large-dot"></span>\n </div>\n <input class="xgplayer-danmuspeed-line xgplayer-danmuspeed-color xgplayer-danmuspeed-bar xgplayer-gradient" type="range" min="50" max="150" step="50" value="100">\n </div>\n </div>\n </xg-danmuspeed>\n <xg-danmufont class="xgplayer-danmufont">\n <div class="xgplayer-danmufont-name">字体大小</div>\n <div class="xgplayer-danmufont-control">\n <div class="xgplayer-danmufont-control-up">\n <span class="xgplayer-danmufont-control-up-item xgplayer-danmufont-small">小</span>\n <span class="xgplayer-danmufont-control-up-item xgplayer-danmufont-middle">中</span>\n <span class="xgplayer-danmufont-control-up-item xgplayer-danmufont-large selected-color">大</span>\n </div>\n <div class="xgplayer-danmufont-control-down">\n <div class="xgplayer-danmufont-control-down-dots">\n <span class="xgplayer-danmufont-small-dot"></span>\n <span class="xgplayer-danmufont-middle-dot"></span>\n <span class="xgplayer-danmufont-large-dot"></span>\n </div>\n <input class="xgplayer-danmufont-line xgplayer-danmufont-color xgplayer-danmufont-bar xgplayer-gradient" type="range" min="20" max="30" step="5" value="25">\n </div>\n </div>\n </xg-danmufont>\n </xg-panel-slider>', {tabindex: 7}, "xgplayer-panel"), e.once("ready", function () {
- e.controls.appendChild(s)
- })), e.once("complete", function () {
- var t = new a.default(l);
- if (e.emit("initDefaultDanmu", t), e.danmu = t, e.config.danmu.panel) {
- var n = s.querySelector(".xgplayer-panel-slider"), i = void 0;
- ["mouseenter", "touchend", "click"].forEach(function (e) {
- s.addEventListener(e, function (e) {
- e.preventDefault(), e.stopPropagation(), r.default.util.addClass(n, "xgplayer-panel-active"), s.focus(), i = !0
- })
- }), s.addEventListener("mouseleave", function (e) {
- e.preventDefault(), e.stopPropagation(), r.default.util.removeClass(n, "xgplayer-panel-active"), i = !1
- }), n.addEventListener("mouseleave", function (e) {
- e.preventDefault(), e.stopPropagation(), !1 === i && r.default.util.removeClass(n, "xgplayer-panel-active")
- });
- var o = e.config.danmu, u = {
- scroll: s.querySelector(".xgplayer-hidemode-scroll"),
- top: s.querySelector(".xgplayer-hidemode-top"),
- bottom: s.querySelector(".xgplayer-hidemode-bottom"),
- color: s.querySelector(".xgplayer-hidemode-color")
- }, c = function (t) {
- var n = t;
- ["touchend", "click"].forEach(function (t) {
- u[n].addEventListener(t, function (t) {
- "true" !== u[n].getAttribute("id") ? (u[n].style.color = "#f85959", u[n].setAttribute("id", "true"), e.danmu.hide(n)) : (u[n].style.color = "#aaa", u[n].setAttribute("id", "false"), e.danmu.show(n))
- })
- })
- };
- for (var p in u) c(p);
- var d = s.querySelector(".xgplayer-transparency-line"),
- f = s.querySelector(".xgplayer-transparency-gradient"), g = 50;
- if (f.style.background = "linear-gradient(to right, #f85959 0%, #f85959 " + g + "%, #aaa " + g + "%, #aaa)", d.addEventListener("input", function (e) {
- e.preventDefault(), e.stopPropagation(), g = e.target.value, f.style.background = "linear-gradient(to right, #f85959 0%, #f85959 " + g + "%, #aaa " + g + "%, #aaa)", o.comments.forEach(function (e) {
- e.style.opacity = g / 100
- })
- }), s.querySelector(".xgplayer-showarea-line").addEventListener("input", function (t) {
- t.preventDefault(), t.stopPropagation();
- var n = t.target.value;
- e.danmu.config.area.end = n / 100, e.config.danmu.area.end = n / 100, e.danmu.bulletBtn.main.channel.resize()
- }), s.querySelector(".xgplayer-danmuspeed-line").addEventListener("input", function (e) {
- e.preventDefault(), e.stopPropagation();
- var t = e.target.value;
- o.comments.forEach(function (e) {
- e.duration = 100 * (200 - t)
- })
- }), s.querySelector(".xgplayer-danmufont-line").addEventListener("input", function (e) {
- e.preventDefault(), e.stopPropagation();
- var t = e.target.value;
- o.comments.forEach(function (e) {
- e.style.fontSize = t + "px"
- })
- }), navigator.userAgent.indexOf("Firefox") > -1) for (var h = 0; h < n.querySelectorAll("input").length; h++) n.querySelectorAll("input")[h].style.marginTop = "10px"
- }
- })
- }
- })
- }, function (e, t, n) {
- "use strict";
- (function (e) {
- var n, r, a, i, o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
- return typeof e
- } : function (e) {
- return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
- };
- window, i = function () {
- return function (e) {
- var t = {};
- function n(r) {
- if (t[r]) return t[r].exports;
- var a = t[r] = {i: r, l: !1, exports: {}};
- return e[r].call(a.exports, a, a.exports, n), a.l = !0, a.exports
- }
- return n.m = e, n.c = t, n.d = function (e, t, r) {
- n.o(e, t) || Object.defineProperty(e, t, {enumerable: !0, get: r})
- }, n.r = function (e) {
- "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "__esModule", {value: !0})
- }, n.t = function (e, t) {
- if (1 & t && (e = n(e)), 8 & t) return e;
- if (4 & t && "object" == (void 0 === e ? "undefined" : o(e)) && e && e.__esModule) return e;
- var r = Object.create(null);
- if (n.r(r), Object.defineProperty(r, "default", {
- enumerable: !0,
- value: e
- }), 2 & t && "string" != typeof e) for (var a in e) n.d(r, a, function (t) {
- return e[t]
- }.bind(null, a));
- return r
- }, n.n = function (e) {
- var t = e && e.__esModule ? function () {
- return e.default
- } : function () {
- return e
- };
- return n.d(t, "a", t), t
- }, n.o = function (e, t) {
- return Object.prototype.hasOwnProperty.call(e, t)
- }, n.p = "", n(n.s = 2)
- }([function (e, t, n) {
- Object.defineProperty(t, "__esModule", {value: !0});
- var r, a = (r = n(22)) && r.__esModule ? r : {default: r}, i = {};
- i.domObj = new a.default, i.createDom = function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "div",
- t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
- n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
- r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "",
- a = document.createElement(e);
- return a.className = r, a.innerHTML = t, Object.keys(n).forEach(function (t) {
- var r = t, i = n[t];
- "video" === e || "audio" === e ? i && a.setAttribute(r, i) : a.setAttribute(r, i)
- }), a
- }, i.hasClass = function (e, t) {
- return e.classList ? Array.prototype.some.call(e.classList, function (e) {
- return e === t
- }) : !!e.className.match(new RegExp("(\\s|^)" + t + "(\\s|$)"))
- }, i.addClass = function (e, t) {
- e.classList ? t.replace(/(^\s+|\s+$)/g, "").split(/\s+/g).forEach(function (t) {
- t && e.classList.add(t)
- }) : i.hasClass(e, t) || (e.className += " " + t)
- }, i.removeClass = function (e, t) {
- e.classList ? t.split(/\s+/g).forEach(function (t) {
- e.classList.remove(t)
- }) : i.hasClass(e, t) && t.split(/\s+/g).forEach(function (t) {
- var n = new RegExp("(\\s|^)" + t + "(\\s|$)");
- e.className = e.className.replace(n, " ")
- })
- }, i.toggleClass = function (e, t) {
- t.split(/\s+/g).forEach(function (t) {
- i.hasClass(e, t) ? i.removeClass(e, t) : i.addClass(e, t)
- })
- }, i.findDom = function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : document,
- t = arguments[1],
- n = void 0;
- try {
- n = e.querySelector(t)
- } catch (r) {
- t.startsWith("#") && (n = e.getElementById(t.slice(1)))
- }
- return n
- }, i.deepCopy = function (e, t) {
- if ("Object" === i.typeOf(t) && "Object" === i.typeOf(e)) return Object.keys(t).forEach(function (n) {
- "Object" !== i.typeOf(t[n]) || t[n] instanceof Node ? "Array" === i.typeOf(t[n]) ? e[n] = "Array" === i.typeOf(e[n]) ? e[n].concat(t[n]) : t[n] : e[n] = t[n] : e[n] ? i.deepCopy(e[n], t[n]) : e[n] = t[n]
- }), e
- }, i.typeOf = function (e) {
- return Object.prototype.toString.call(e).match(/([^\s.*]+)(?=]$)/g)[0]
- }, i.copyDom = function (e) {
- if (e && 1 === e.nodeType) {
- var t = document.createElement(e.tagName);
- return Array.prototype.forEach.call(e.attributes, function (e) {
- t.setAttribute(e.name, e.value)
- }), e.innerHTML && (t.innerHTML = e.innerHTML), t
- }
- return ""
- }, i.formatTime = function (e) {
- var t = Math.floor(e);
- return 1e3 * t + (e - t)
- }, t.default = i, e.exports = t.default
- }, function (e, t, n) {
- var r = n(13)();
- e.exports = function (e) {
- return e !== r && null !== e
- }
- }, function (e, t, n) {
- e.exports = n(3)
- }, function (e, t, n) {
- Object.defineProperty(t, "__esModule", {value: !0});
- var r, a = (r = n(4)) && r.__esModule ? r : {default: r};
- n(26), t.default = a.default, e.exports = t.default
- }, function (e, t, n) {
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = function () {
- function e(e, t) {
- for (var n = 0; n < t.length; n++) {
- var r = t[n];
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
- }
- }
- return function (t, n, r) {
- return n && e(t.prototype, n), r && e(t, r), t
- }
- }(), a = l(n(5)), i = l(n(21)), o = l(n(0));
- function l(e) {
- return e && e.__esModule ? e : {default: e}
- }
- var s = function () {
- function e(t) {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.config = o.default.deepCopy({
- overlap: !1,
- area: {start: 0, end: 1},
- live: !1,
- comments: [],
- direction: "r2l"
- }, t), this.hideArr = [], (0, a.default)(this);
- var n = this;
- if (this.config.comments.forEach(function (e) {
- e.duration = e.duration < 5e3 ? 5e3 : e.duration, e.mode || (e.mode = "scroll")
- }), !this.config.container || 1 !== this.config.container.nodeType) return this.emit("error", "container id can't be empty"), !1;
- if (this.container = this.config.container, this.config.containerStyle) {
- var r = this.config.containerStyle;
- Object.keys(r).forEach(function (e) {
- n.container.style[e] = r[e]
- })
- }
- this.live = this.config.live, this.player = this.config.player, this.direction = this.config.direction, o.default.addClass(this.container, "danmu"), this.bulletBtn = new i.default(this), this.emit("ready")
- }
- return r(e, [{
- key: "start", value: function () {
- this.bulletBtn.main.start()
- }
- }, {
- key: "pause", value: function () {
- this.bulletBtn.main.pause()
- }
- }, {
- key: "play", value: function () {
- this.bulletBtn.main.play()
- }
- }, {
- key: "stop", value: function () {
- this.bulletBtn.main.stop()
- }
- }, {
- key: "sendComment", value: function (e) {
- e && e.id && e.duration && (e.el || e.txt) && (e.duration = e.duration < 5e3 ? 5e3 : e.duration, this.bulletBtn.main.data.push(e))
- }
- }, {
- key: "setCommentID", value: function (e, t) {
- var n = this.container.getBoundingClientRect();
- e && t && (this.bulletBtn.main.data.some(function (n) {
- return n.id === e && (n.id = t, !0)
- }), this.bulletBtn.main.queue.some(function (r) {
- return r.id === e && (r.id = t, r.pauseMove(n), r.startMove(n), !0)
- }))
- }
- }, {
- key: "setCommentDuration", value: function (e, t) {
- var n = this.container.getBoundingClientRect();
- e && t && (t = t < 5e3 ? 5e3 : t, this.bulletBtn.main.data.some(function (n) {
- return n.id === e && (n.duration = t, !0)
- }), this.bulletBtn.main.queue.some(function (r) {
- return r.id === e && (r.duration = t, r.pauseMove(n), r.startMove(n), !0)
- }))
- }
- }, {
- key: "setAllDuration", value: function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "scroll",
- t = arguments[1], n = this.container.getBoundingClientRect();
- t && (t = t < 5e3 ? 5e3 : t, this.bulletBtn.main.data.forEach(function (n) {
- e === n.mode && (n.duration = t)
- }), this.bulletBtn.main.queue.forEach(function (r) {
- e === r.mode && (r.duration = t, r.pauseMove(n), r.startMove(n))
- }))
- }
- }, {
- key: "hide", value: function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "scroll";
- this.hideArr.indexOf(e) < 0 && this.hideArr.push(e), this.bulletBtn.main.queue.filter(function (t) {
- return e === t.mode || "color" === e && t.color
- }).forEach(function (e) {
- return e.remove()
- })
- }
- }, {
- key: "show", value: function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "scroll",
- t = this.hideArr.indexOf(e);
- t > -1 && this.hideArr.splice(t, 1)
- }
- }, {
- key: "setDirection", value: function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "r2l";
- this.emit("changeDirection", e)
- }
- }]), e
- }();
- t.default = s, e.exports = t.default
- }, function (e, t, n) {
- var r, a, i, l, s, u, c, p = n(6), d = n(20), f = Function.prototype.apply,
- g = Function.prototype.call,
- h = Object.create, y = Object.defineProperty, x = Object.defineProperties,
- m = Object.prototype.hasOwnProperty, v = {configurable: !0, enumerable: !1, writable: !0};
- a = function (e, t) {
- var n, a;
- return d(t), a = this, r.call(this, e, n = function () {
- i.call(a, e, n), f.call(t, this, arguments)
- }), n.__eeOnceListener__ = t, this
- }, s = {
- on: r = function (e, t) {
- var n;
- return d(t), m.call(this, "__ee__") ? n = this.__ee__ : (n = v.value = h(null), y(this, "__ee__", v), v.value = null), n[e] ? "object" == o(n[e]) ? n[e].push(t) : n[e] = [n[e], t] : n[e] = t, this
- }, once: a, off: i = function (e, t) {
- var n, r, a, i;
- if (d(t), !m.call(this, "__ee__")) return this;
- if (!(n = this.__ee__)[e]) return this;
- if ("object" == o(r = n[e])) for (i = 0; a = r[i]; ++i) a !== t && a.__eeOnceListener__ !== t || (2 === r.length ? n[e] = r[i ? 0 : 1] : r.splice(i, 1)); else r !== t && r.__eeOnceListener__ !== t || delete n[e];
- return this
- }, emit: l = function (e) {
- var t, n, r, a, i;
- if (m.call(this, "__ee__") && (a = this.__ee__[e])) if ("object" == (void 0 === a ? "undefined" : o(a))) {
- for (n = arguments.length, i = new Array(n - 1), t = 1; t < n; ++t) i[t - 1] = arguments[t];
- for (a = a.slice(), t = 0; r = a[t]; ++t) f.call(r, this, i)
- } else switch (arguments.length) {
- case 1:
- g.call(a, this);
- break;
- case 2:
- g.call(a, this, arguments[1]);
- break;
- case 3:
- g.call(a, this, arguments[1], arguments[2]);
- break;
- default:
- for (n = arguments.length, i = new Array(n - 1), t = 1; t < n; ++t) i[t - 1] = arguments[t];
- f.call(a, this, i)
- }
- }
- }, u = {on: p(r), once: p(a), off: p(i), emit: p(l)}, c = x({}, u), e.exports = t = function (e) {
- return null == e ? h(c) : x(Object(e), u)
- }, t.methods = s
- }, function (e, t, n) {
- var r = n(7), a = n(15), i = n(16), o = n(17);
- (e.exports = function (e, t) {
- var n, i, l, s, u;
- return arguments.length < 2 || "string" != typeof e ? (s = t, t = e, e = null) : s = arguments[2], null == e ? (n = l = !0, i = !1) : (n = o.call(e, "c"), i = o.call(e, "e"), l = o.call(e, "w")), u = {
- value: t,
- configurable: n,
- enumerable: i,
- writable: l
- }, s ? r(a(s), u) : u
- }).gs = function (e, t, n) {
- var l, s, u, c;
- return "string" != typeof e ? (u = n, n = t, t = e, e = null) : u = arguments[3], null == t ? t = void 0 : i(t) ? null == n ? n = void 0 : i(n) || (u = n, n = void 0) : (u = t, t = n = void 0), null == e ? (l = !0, s = !1) : (l = o.call(e, "c"), s = o.call(e, "e")), c = {
- get: t,
- set: n,
- configurable: l,
- enumerable: s
- }, u ? r(a(u), c) : c
- }
- }, function (e, t, n) {
- e.exports = n(8)() ? Object.assign : n(9)
- }, function (e, t, n) {
- e.exports = function () {
- var e, t = Object.assign;
- return "function" == typeof t && (t(e = {foo: "raz"}, {bar: "dwa"}, {trzy: "trzy"}), e.foo + e.bar + e.trzy === "razdwatrzy")
- }
- }, function (e, t, n) {
- var r = n(10), a = n(14), i = Math.max;
- e.exports = function (e, t) {
- var n, o, l, s = i(arguments.length, 2);
- for (e = Object(a(e)), l = function (r) {
- try {
- e[r] = t[r]
- } catch (e) {
- n || (n = e)
- }
- }, o = 1; o < s; ++o) t = arguments[o], r(t).forEach(l);
- if (void 0 !== n) throw n;
- return e
- }
- }, function (e, t, n) {
- e.exports = n(11)() ? Object.keys : n(12)
- }, function (e, t, n) {
- e.exports = function () {
- try {
- return Object.keys("primitive"), !0
- } catch (e) {
- return !1
- }
- }
- }, function (e, t, n) {
- var r = n(1), a = Object.keys;
- e.exports = function (e) {
- return a(r(e) ? Object(e) : e)
- }
- }, function (e, t, n) {
- e.exports = function () {
- }
- }, function (e, t, n) {
- var r = n(1);
- e.exports = function (e) {
- if (!r(e)) throw new TypeError("Cannot use null or undefined");
- return e
- }
- }, function (e, t, n) {
- var r = n(1), a = Array.prototype.forEach, i = Object.create;
- e.exports = function (e) {
- var t = i(null);
- return a.call(arguments, function (e) {
- r(e) && function (e, t) {
- var n;
- for (n in e) t[n] = e[n]
- }(Object(e), t)
- }), t
- }
- }, function (e, t, n) {
- e.exports = function (e) {
- return "function" == typeof e
- }
- }, function (e, t, n) {
- e.exports = n(18)() ? String.prototype.contains : n(19)
- }, function (e, t, n) {
- var r = "razdwatrzy";
- e.exports = function () {
- return "function" == typeof r.contains && !0 === r.contains("dwa") && !1 === r.contains("foo")
- }
- }, function (e, t, n) {
- var r = String.prototype.indexOf;
- e.exports = function (e) {
- return r.call(this, e, arguments[1]) > -1
- }
- }, function (e, t, n) {
- e.exports = function (e) {
- if ("function" != typeof e) throw new TypeError(e + " is not a function");
- return e
- }
- }, function (e, t, n) {
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = function () {
- function e(e, t) {
- for (var n = 0; n < t.length; n++) {
- var r = t[n];
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
- }
- }
- return function (t, n, r) {
- return n && e(t.prototype, n), r && e(t, r), t
- }
- }(), a = o(n(0)), i = o(n(23));
- function o(e) {
- return e && e.__esModule ? e : {default: e}
- }
- var l = function () {
- function e(t) {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.danmu = t, this.main = new i.default(t), t.config.defaultOff || this.main.start()
- }
- return r(e, [{
- key: "createSwitch", value: function () {
- var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
- return this.switchBtn = a.default.createDom("dk-switch", '<span class="txt">弹</span>', {}, "danmu-switch " + (e ? "danmu-switch-active" : "")), this.switchBtn
- }
- }]), e
- }();
- t.default = l, e.exports = t.default
- }, function (e, t, n) {
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = function () {
- function e(e, t) {
- for (var n = 0; n < t.length; n++) {
- var r = t[n];
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
- }
- }
- return function (t, n, r) {
- return n && e(t.prototype, n), r && e(t, r), t
- }
- }(), a = function () {
- function e(t) {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), t = {
- initDOM: function () {
- return document.createElement("div")
- }, initSize: 10
- }, this.init(t)
- }
- return r(e, [{
- key: "init", value: function (e) {
- this.idleList = [], this.usingList = [], this._id = 0, this.options = e, this._expand(e.initSize)
- }
- }, {
- key: "use", value: function () {
- this.idleList.length || this._expand(1);
- var e = this.idleList.shift();
- return this.usingList.push(e), e
- }
- }, {
- key: "unuse", value: function (e) {
- var t = this.usingList.indexOf(e);
- t < 0 || (this.usingList.splice(t, 1), e.innerHTML = "", e.textcontent = "", e.style = "", this.idleList.push(e))
- }
- }, {
- key: "_expand", value: function (e) {
- for (var t = 0; t < e; t++) this.idleList.push(this.options.initDOM(this._id++))
- }
- }]), e
- }();
- t.default = a, e.exports = t.default
- }, function (e, t, n) {
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = function () {
- function e(e, t) {
- for (var n = 0; n < t.length; n++) {
- var r = t[n];
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
- }
- }
- return function (t, n, r) {
- return n && e(t.prototype, n), r && e(t, r), t
- }
- }(), a = l(n(24)), i = l(n(25)), o = l(n(0));
- function l(e) {
- return e && e.__esModule ? e : {default: e}
- }
- var s = function () {
- function e(t) {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.danmu = t, this.container = t.container, this.channel = new a.default(t), this.data = [].concat(t.config.comments), this.queue = [], this.timer = null, this.retryTimer = null, this.interval = 2e3, this.status = "idle", t.on("bullet_remove", this.updateQueue.bind(this));
- var n = this;
- this.danmu.on("changeDirection", function (e) {
- n.danmu.direction = e
- })
- }
- return r(e, [{
- key: "updateQueue", value: function (e) {
- var t = this;
- t.queue.some(function (n, r) {
- return n.id === e.bullet.id && (t.queue.splice(r, 1), !0)
- })
- }
- }, {
- key: "init", value: function (e, t) {
- t || (t = this), t.data.sort(function (e, t) {
- return e.start - t.start
- }), t.retryTimer || (t.retryTimer = setInterval(function () {
- t.readData(), t.dataHandle()
- }, t.interval - 1e3))
- }
- }, {
- key: "start", value: function () {
- this.status = "playing", this.queue = [], this.container.innerHTML = "", this.channel.resetWithCb(this.init, this)
- }
- }, {
- key: "stop", value: function () {
- this.status = "closed", clearInterval(this.retryTimer), this.retryTimer = null, this.channel.reset(), this.queue = [], this.container.innerHTML = ""
- }
- }, {
- key: "play", value: function () {
- this.status = "playing";
- var e = this.channel.channels, t = this.danmu.container.getBoundingClientRect();
- e && e.length > 0 && ["scroll", "top", "bottom"].forEach(function (n) {
- for (var r = 0; r < e.length; r++) e[r].queue[n].forEach(function (e) {
- e.resized || (e.startMove(t), e.resized = !0)
- });
- for (var a = 0; a < e.length; a++) e[a].queue[n].forEach(function (e) {
- e.resized = !1
- })
- })
- }
- }, {
- key: "pause", value: function () {
- this.status = "paused";
- var e = this.channel.channels, t = this.danmu.container.getBoundingClientRect();
- e && e.length > 0 && ["scroll", "top", "bottom"].forEach(function (n) {
- for (var r = 0; r < e.length; r++) e[r].queue[n].forEach(function (e) {
- e.pauseMove(t)
- })
- })
- }
- }, {
- key: "dataHandle", value: function () {
- var e = this;
- "paused" !== this.status && "closed" !== this.status && e.queue.length && e.queue.forEach(function (t) {
- "waiting" !== t.status && "paused" !== t.status || t.startMove(e.channel.containerPos)
- })
- }
- }, {
- key: "readData", value: function () {
- var e = this, t = this.danmu, n = 0;
- t.player && t.player.currentTime && (n = o.default.formatTime(t.player.currentTime));
- var r = void 0, a = e.interval, l = e.channel, s = void 0;
- t.player ? (s = e.data.filter(function (t) {
- return !t.start && e.danmu.hideArr.indexOf(t.mode) < 0 && (!t.color || e.danmu.hideArr.indexOf("color") < 0) && (t.start = n), e.danmu.hideArr.indexOf(t.mode) < 0 && (!t.color || e.danmu.hideArr.indexOf("color") < 0) && t.start - a <= n && n <= t.start + a
- }), t.live && (e.data = e.data.filter(function (e) {
- return e.start || (e.start = n), e.start > n - 3 * a
- }))) : s = e.data.filter(function (t) {
- return e.danmu.hideArr.indexOf(t.mode) < 0 && (!t.color || e.danmu.hideArr.indexOf("color") < 0)
- }), s.length > 0 && s.forEach(function (n) {
- (r = new i.default(t, n)).attach(), l.addBullet(r).result ? (e.queue.push(r), r.topInit()) : r.detach()
- })
- }
- }]), e
- }();
- t.default = s, e.exports = t.default
- }, function (e, t, n) {
- Object.defineProperty(t, "__esModule", {value: !0});
- var r = function () {
- function e(e, t) {
- for (var n = 0; n < t.length; n++) {
- var r = t[n];
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
- }
- }
- return function (t, n, r) {
- return n && e(t.prototype, n), r && e(t, r), t
- }
- }(), a = function () {
- function e(t) {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.danmu = t, this.reset();
- var n = this;
- this.danmu.on("bullet_remove", function (e) {
- n.removeBullet(e.bullet)
- }), this.direction = t.direction, this.danmu.on("changeDirection", function (e) {
- n.direction = e
- }), this.containerPos = this.danmu.container.getBoundingClientRect(), this.containerWidth = this.containerPos.width, this.containerHeight = this.containerPos.height, this.containerLeft = this.containerPos.left, this.containerRight = this.containerPos.right, this.danmu.bulletResizeTimer = setInterval(function () {
- n.containerPos = n.danmu.container.getBoundingClientRect(), (Math.abs(n.containerPos.width - n.containerWidth) >= 2 || Math.abs(n.containerPos.height - n.containerHeight) >= 2 || Math.abs(n.containerPos.left - n.containerLeft) >= 2 || Math.abs(n.containerPos.right - n.containerRight) >= 2) && (n.containerWidth = n.containerPos.width, n.containerHeight = n.containerPos.height, n.containerLeft = n.containerPos.left, n.containerRight = n.containerPos.right, n.resize(!0))
- }, 50)
- }
- return r(e, [{
- key: "resize", value: function () {
- var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
- t = this.danmu.container, n = this;
- setTimeout(function () {
- n.danmu.bulletBtn.main.data && n.danmu.bulletBtn.main.data.forEach(function (e) {
- e.bookChannelId && delete e.bookChannelId
- });
- var r = t.getBoundingClientRect();
- n.width = r.width, n.height = r.height, n.danmu.config.area && n.danmu.config.area.start >= 0 && n.danmu.config.area.end >= n.danmu.config.area.start && ("b2t" === n.direction ? n.width = n.width * (n.danmu.config.area.end - n.danmu.config.area.start) : n.height = n.height * (n.danmu.config.area.end - n.danmu.config.area.start)), n.container = t;
- var a, i = /mobile/gi.test(navigator.userAgent) ? 10 : 12;
- a = "b2t" === n.direction ? Math.floor(n.width / i) : Math.floor(n.height / i);
- for (var o = [], l = 0; l < a; l++) o[l] = {
- id: l,
- queue: {scroll: [], top: [], bottom: []},
- operating: {scroll: !1, top: !1, bottom: !1},
- bookId: {}
- };
- if (n.channels && n.channels.length <= o.length) {
- for (var s = function (t) {
- o[t] = {
- id: t,
- queue: {scroll: [], top: [], bottom: []},
- operating: {scroll: !1, top: !1, bottom: !1},
- bookId: {}
- }, ["scroll", "top"].forEach(function (r) {
- n.channels[t].queue[r].forEach(function (a) {
- a.el && (o[t].queue[r].push(a), a.resized || (a.pauseMove(n.containerPos, e), a.startMove(n.containerPos), a.resized = !0))
- })
- }), n.channels[t].queue.bottom.forEach(function (r) {
- if (r.el) {
- if (o[t + o.length - n.channels.length].queue.bottom.push(r), r.channel_id[0] + r.channel_id[1] - 1 === t) {
- var a = [].concat(r.channel_id);
- r.channel_id = [a[0] - n.channels.length + o.length, a[1]], r.top = r.channel_id[0] * i, n.danmu.config.area && n.danmu.config.area.start && (r.top += n.containerHeight * n.danmu.config.area.start), r.topInit()
- }
- r.resized || (r.pauseMove(n.containerPos, e), r.startMove(n.containerPos), r.resized = !0)
- }
- })
- }, u = 0; u < n.channels.length; u++) s(u);
- for (var c = function (e) {
- ["scroll", "top", "bottom"].forEach(function (t) {
- o[e].queue[t].forEach(function (e) {
- e.resized = !1
- })
- })
- }, p = 0; p < o.length; p++) c(p);
- n.channels = o, "b2t" === n.direction ? n.channelWidth = i : n.channelHeight = i
- } else if (n.channels && n.channels.length > o.length) {
- for (var d = function (t) {
- o[t] = {
- id: t,
- queue: {scroll: [], top: [], bottom: []},
- operating: {scroll: !1, top: !1, bottom: !1},
- bookId: {}
- }, ["scroll", "top", "bottom"].forEach(function (r) {
- if ("top" === r && t > Math.floor(o.length / 2)) ; else if ("bottom" === r && t <= Math.floor(o.length / 2)) ; else {
- var a = "bottom" === r ? t - o.length + n.channels.length : t;
- n.channels[a].queue[r].forEach(function (l, s) {
- if (l.el) {
- if (o[t].queue[r].push(l), "bottom" === r && l.channel_id[0] + l.channel_id[1] - 1 === a) {
- var u = [].concat(l.channel_id);
- l.channel_id = [u[0] - n.channels.length + o.length, u[1]], l.top = l.channel_id[0] * i, n.danmu.config.area && n.danmu.config.area.start && (l.top += n.containerHeight * n.danmu.config.area.start), l.topInit()
- }
- l.resized || (l.pauseMove(n.containerPos, e), l.startMove(n.containerPos), l.resized = !0)
- }
- n.channels[a].queue[r].splice(s, 1)
- })
- }
- })
- }, f = 0; f < o.length; f++) d(f);
- for (var g = function (e) {
- ["scroll", "top", "bottom"].forEach(function (t) {
- n.channels[e].queue[t].forEach(function (e) {
- e.pauseMove(n.containerPos), e.remove()
- })
- })
- }, h = o.length; h < n.channels.length; h++) g(h);
- for (var y = function (e) {
- ["scroll", "top", "bottom"].forEach(function (t) {
- o[e].queue[t].forEach(function (e) {
- e.resized = !1
- })
- })
- }, x = 0; x < o.length; x++) y(x);
- n.channels = o, "b2t" === n.direction ? n.channelWidth = i : n.channelHeight = i
- }
- }, 10)
- }
- }, {
- key: "addBullet", value: function (e) {
- var t = this.danmu, n = this.channels, r = void 0, a = void 0, i = void 0;
- if ("b2t" === this.direction ? (a = this.channelWidth, i = Math.ceil(e.width / a)) : (r = this.channelHeight, i = Math.ceil(e.height / r)), i > n.length) return {
- result: !1,
- message: "exceed channels.length, occupy=" + i + ",channelsSize=" + n.length
- };
- for (var o = !0, l = void 0, s = -1, u = 0, c = n.length; u < c; u++) if (n[u].queue[e.mode].some(function (t) {
- return t.id === e.id
- })) return {result: !1, message: "exsited, channelOrder=" + u + ",danmu_id=" + e.id};
- if ("scroll" === e.mode) for (var p = 0, d = n.length - i; p <= d; p++) {
- o = !0;
- for (var f = p; f < p + i; f++) {
- if ((l = n[f]).operating.scroll) {
- o = !1;
- break
- }
- if ((l.bookId.scroll || e.prior) && l.bookId.scroll !== e.id) {
- o = !1;
- break
- }
- l.operating.scroll = !0;
- var g = l.queue.scroll[0];
- if (g) {
- var h = g.el.getBoundingClientRect();
- if ("b2t" === this.direction) {
- if (h.bottom > this.containerPos.bottom) {
- o = !1, l.operating.scroll = !1;
- break
- }
- } else if (h.right > this.containerPos.right) {
- o = !1, l.operating.scroll = !1;
- break
- }
- var y, x = void 0, m = void 0, v = void 0, b = void 0;
- if ("b2t" === this.direction ? (m = (h.top - this.containerPos.top + h.height) / (x = (this.containerPos.height + h.height) / g.duration), v = this.containerPos.height, b = (this.containerPos.height + e.height) / e.duration) : (m = (h.left - this.containerPos.left + h.width) / (x = (this.containerPos.width + h.width) / g.duration), v = this.containerPos.width, b = (this.containerPos.width + e.width) / e.duration), y = v / b, t.config.bOffset || (t.config.bOffset = 0), x < b && m + t.config.bOffset > y) {
- o = !1, l.operating.scroll = !1;
- break
- }
- }
- l.operating.scroll = !1
- }
- if (o) {
- s = p;
- break
- }
- } else if ("top" === e.mode) for (var k = 0, w = n.length - i; k <= w; k++) {
- o = !0;
- for (var _ = k; _ < k + i; _++) {
- if (_ > Math.floor(n.length / 2)) {
- o = !1;
- break
- }
- if ((l = n[_]).operating[e.mode]) {
- o = !1;
- break
- }
- if ((l.bookId[e.mode] || e.prior) && l.bookId[e.mode] !== e.id) {
- o = !1;
- break
- }
- if (l.operating[e.mode] = !0, l.queue[e.mode].length > 0) {
- o = !1, l.operating[e.mode] = !1;
- break
- }
- l.operating[e.mode] = !1
- }
- if (o) {
- s = k;
- break
- }
- } else if ("bottom" === e.mode) for (var E = n.length - i; E >= 0; E--) {
- o = !0;
- for (var C = E; C < E + i; C++) {
- if (C <= Math.floor(n.length / 2)) {
- o = !1;
- break
- }
- if ((l = n[C]).operating[e.mode]) {
- o = !1;
- break
- }
- if ((l.bookId[e.mode] || e.prior) && l.bookId[e.mode] !== e.id) {
- o = !1;
- break
- }
- if (l.operating[e.mode] = !0, l.queue[e.mode].length > 0) {
- o = !1, l.operating[e.mode] = !1;
- break
- }
- l.operating[e.mode] = !1
- }
- if (o) {
- s = E;
- break
- }
- }
- if (-1 !== s) {
- for (var S = s, P = s + i; S < P; S++) (l = n[S]).operating[e.mode] = !0, l.queue[e.mode].unshift(e), e.prior && delete l.bookId[e.mode], l.operating[e.mode] = !1;
- return e.prior && (delete e.bookChannelId, t.bulletBtn.main.data.some(function (t) {
- return t.id === e.id && (delete t.bookChannelId, !0)
- })), e.channel_id = [s, i], "b2t" === this.direction ? (e.top = s * a, this.danmu.config.area && this.danmu.config.area.start && (e.top += this.containerWidth * this.danmu.config.area.start)) : (e.top = s * r, this.danmu.config.area && this.danmu.config.area.start && (e.top += this.containerHeight * this.danmu.config.area.start)), {
- result: e,
- message: "success"
- }
- }
- if (e.prior) if (e.bookChannelId) t.bulletBtn.main.data.some(function (t) {
- return t.id === e.id && (t.start += 2e3, !0)
- }); else {
- s = -1;
- for (var T = 0, O = n.length - i; T <= O; T++) {
- o = !0;
- for (var L = T; L < T + i; L++) if (n[L].bookId[e.mode]) {
- o = !1;
- break
- }
- if (o) {
- s = T;
- break
- }
- }
- if (-1 !== s) {
- for (var D = s; D < s + i; D++) n[D].bookId[e.mode] = e.id;
- t.bulletBtn.main.data.some(function (t) {
- return t.id === e.id && (t.start += 2e3, t.bookChannelId = [s, i], !0)
- })
- }
- }
- return {result: !1, message: "no surplus will right"}
- }
- }, {
- key: "removeBullet", value: function (e) {
- for (var t = this.channels, n = e.channel_id, r = void 0, a = n[0], i = n[0] + n[1]; a < i; a++) if (r = t[a]) {
- r.operating[e.mode] = !0;
- var o = -1;
- r.queue[e.mode].some(function (t, n) {
- return t.id === e.id && (o = n, !0)
- }), o > -1 && r.queue[e.mode].splice(o, 1), r.operating[e.mode] = !1
- }
- }
- }, {
- key: "resetArea", value: function () {
- var e = this.danmu.container, t = this, n = e.getBoundingClientRect();
- t.width = n.width, t.height = n.height, t.danmu.config.area && t.danmu.config.area.start >= 0 && t.danmu.config.area.end >= t.danmu.config.area.start && ("b2t" === t.direction ? t.width = t.width * (t.danmu.config.area.end - t.danmu.config.area.start) : t.height = t.height * (t.danmu.config.area.end - t.danmu.config.area.start)), t.container = e;
- var r, a = /mobile/gi.test(navigator.userAgent) ? 10 : 12;
- r = "b2t" === t.direction ? Math.floor(t.width / a) : Math.floor(t.height / a);
- for (var i = [], o = 0; o < r; o++) i[o] = {
- id: o,
- queue: {scroll: [], top: [], bottom: []},
- operating: {scroll: !1, top: !1, bottom: !1},
- bookId: {}
- };
- if (t.channels && t.channels.length <= i.length) {
- for (var l = function (e) {
- i[e] = {
- id: e,
- queue: {scroll: [], top: [], bottom: []},
- operating: {scroll: !1, top: !1, bottom: !1},
- bookId: {}
- }, ["scroll", "top"].forEach(function (n) {
- t.channels[e].queue[n].forEach(function (r) {
- r.el && (i[e].queue[n].push(r), r.resized || (r.pauseMove(t.containerPos, !1), r.startMove(t.containerPos), r.resized = !0))
- })
- }), t.channels[e].queue.bottom.forEach(function (n) {
- if (n.el) {
- if (i[e + i.length - t.channels.length].queue.bottom.push(n), n.channel_id[0] + n.channel_id[1] - 1 === e) {
- var r = [].concat(n.channel_id);
- n.channel_id = [r[0] - t.channels.length + i.length, r[1]], n.top = n.channel_id[0] * a, t.danmu.config.area && t.danmu.config.area.start && (n.top += t.containerHeight * t.danmu.config.area.start), n.topInit()
- }
- n.resized || (n.pauseMove(t.containerPos, !1), n.startMove(t.containerPos), n.resized = !0)
- }
- })
- }, s = 0; s < t.channels.length; s++) l(s);
- for (var u = function (e) {
- ["scroll", "top", "bottom"].forEach(function (t) {
- i[e].queue[t].forEach(function (e) {
- e.resized = !1
- })
- })
- }, c = 0; c < i.length; c++) u(c);
- t.channels = i, "b2t" === t.direction ? t.channelWidth = a : t.channelHeight = a
- } else if (t.channels && t.channels.length > i.length) {
- for (var p = function (e) {
- i[e] = {
- id: e,
- queue: {scroll: [], top: [], bottom: []},
- operating: {scroll: !1, top: !1, bottom: !1},
- bookId: {}
- }, ["scroll", "top", "bottom"].forEach(function (n) {
- if ("top" === n && e > Math.floor(i.length / 2)) ; else if ("bottom" === n && e <= Math.floor(i.length / 2)) ; else {
- var r = "bottom" === n ? e - i.length + t.channels.length : e;
- t.channels[r].queue[n].forEach(function (o, l) {
- if (o.el) {
- if (i[e].queue[n].push(o), "bottom" === n && o.channel_id[0] + o.channel_id[1] - 1 === r) {
- var s = [].concat(o.channel_id);
- o.channel_id = [s[0] - t.channels.length + i.length, s[1]], o.top = o.channel_id[0] * a, t.danmu.config.area && t.danmu.config.area.start && (o.top += t.containerHeight * t.danmu.config.area.start), o.topInit()
- }
- o.resized || (o.pauseMove(t.containerPos, !1), o.startMove(t.containerPos), o.resized = !0)
- }
- t.channels[r].queue[n].splice(l, 1)
- })
- }
- })
- }, d = 0; d < i.length; d++) p(d);
- for (var f = function (e) {
- ["scroll", "top", "bottom"].forEach(function (t) {
- i[e].queue[t].forEach(function (e) {
- e.resized = !1
- })
- })
- }, g = 0; g < i.length; g++) f(g);
- t.channels = i, "b2t" === t.direction ? t.channelWidth = a : t.channelHeight = a
- }
- }
- }, {
- key: "reset", value: function () {
- var e = this.danmu.container, t = this;
- t.channels && t.channels.length > 0 && ["scroll", "top", "bottom"].forEach(function (e) {
- for (var n = 0; n < t.channels.length; n++) t.channels[n].queue[e].forEach(function (e) {
- e.pauseMove(t.containerPos), e.remove()
- })
- }), setTimeout(function () {
- var n = e.getBoundingClientRect();
- t.width = n.width, t.height = n.height, t.danmu.config.area && t.danmu.config.area.start >= 0 && t.danmu.config.area.end >= t.danmu.config.area.start && ("b2t" === t.direction ? t.width = t.width * (t.danmu.config.area.end - t.danmu.config.area.start) : t.height = t.height * (t.danmu.config.area.end - t.danmu.config.area.start)), t.container = e;
- var r, a = /mobile/gi.test(navigator.userAgent) ? 10 : 12;
- r = "b2t" === t.direction ? Math.floor(t.width / a) : Math.floor(t.height / a);
- for (var i = [], o = 0; o < r; o++) i[o] = {
- id: o,
- queue: {scroll: [], top: [], bottom: []},
- operating: {scroll: !1, top: !1, bottom: !1},
- bookId: {}
- };
- t.channels = i, "b2t" === t.direction ? t.channelWidth = a : t.channelHeight = a
- }, 200)
- }
- }, {
- key: "resetWithCb", value: function (e, t) {
- var n = this.danmu.container, r = this;
- r.channels && r.channels.length > 0 && ["scroll", "top", "bottom"].forEach(function (e) {
- for (var t = 0; t < r.channels.length; t++) r.channels[t].queue[e].forEach(function (e) {
- e.pauseMove(r.containerPos), e.remove()
- })
- });
- var a = n.getBoundingClientRect();
- r.width = a.width, r.height = a.height, r.danmu.config.area && r.danmu.config.area.start >= 0 && r.danmu.config.area.end >= r.danmu.config.area.start && ("b2t" === r.direction ? r.width = r.width * (r.danmu.config.area.end - r.danmu.config.area.start) : r.height = r.height * (r.danmu.config.area.end - r.danmu.config.area.start)), r.container = n;
- var i, o = /mobile/gi.test(navigator.userAgent) ? 10 : 12;
- i = "b2t" === r.direction ? Math.floor(r.width / o) : Math.floor(r.height / o);
- for (var l = [], s = 0; s < i; s++) l[s] = {
- id: s,
- queue: {scroll: [], top: [], bottom: []},
- operating: {scroll: !1, top: !1, bottom: !1},
- bookId: {}
- };
- r.channels = l, r.channelHeight = o, e && e(!0, t)
- }
- }]), e
- }();
- t.default = a, e.exports = t.default
- }, function (e, t, n) {
- Object.defineProperty(t, "__esModule", {value: !0});
- var r, a = function () {
- function e(e, t) {
- for (var n = 0; n < t.length; n++) {
- var r = t[n];
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
- }
- }
- return function (t, n, r) {
- return n && e(t.prototype, n), r && e(t, r), t
- }
- }(), i = (r = n(0)) && r.__esModule ? r : {default: r}, o = function () {
- function e(t, n) {
- !function (e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
- }(this, e), this.danmu = t, this.duration = n.duration, this.id = n.id, this.container = t.container, this.start = n.start, this.prior = n.prior, this.color = n.color, this.bookChannelId = n.bookChannelId, this.direction = t.direction;
- var r = this;
- this.danmu.on("changeDirection", function (e) {
- r.direction = e
- });
- var a = void 0;
- if (this.domObj = i.default.domObj, n.el && 1 === n.el.nodeType) (a = this.domObj.use()).appendChild(i.default.copyDom(n.el)); else if ((a = this.domObj.use()).textContent = n.txt, n.style) {
- var o = n.style;
- Object.keys(o).forEach(function (e) {
- a.style[e] = o[e]
- })
- }
- "top" === n.mode || "bottom" === n.mode ? this.mode = n.mode : this.mode = "scroll", this.el = a, this.status = "waiting";
- var l = this.container.getBoundingClientRect();
- this.el.style.left = l.width + "px"
- }
- return a(e, [{
- key: "attach", value: function () {
- this.container.appendChild(this.el), this.elPos = this.el.getBoundingClientRect(), "b2t" === this.direction ? (this.width = this.elPos.height, this.height = this.elPos.width) : (this.width = this.elPos.width, this.height = this.elPos.height)
- }
- }, {
- key: "detach", value: function () {
- this.container && this.el && (this.domObj.unuse(this.el), this.container.removeChild(this.el));
- var e = this;
- this.danmu.off("changeDirection", function (t) {
- e.direction = t
- }), this.el = null
- }
- }, {
- key: "topInit", value: function () {
- if ("b2t" === this.direction) {
- var e = this.container.getBoundingClientRect();
- this.el.style.transformOrigin = "left top", this.el.style.transform = "translateX(-" + this.top + "px) translateY(" + e.height + "px) translateZ(0px) rotate(90deg)", this.el.style.transition = "transform 0s linear 0s"
- } else this.el.style.top = this.top + "px"
- }
- }, {
- key: "pauseMove", value: function (e) {
- var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
- if ("paused" !== this.status && (this.status = "paused", clearTimeout(this.removeTimer), this.el)) if (this.el.style.willChange = "auto", "scroll" === this.mode) {
- if (t) {
- var n, r = ((new Date).getTime() - this.moveTime) / 1e3 * this.moveV;
- n = this.moveMoreS - r >= 0 ? "b2t" === this.direction ? (this.moveMoreS - r) / this.moveContainerHeight * e.height : (this.moveMoreS - r) / this.moveContainerWidth * e.width : this.moveMoreS - r, "b2t" === this.direction ? this.el.style.transform = "translateX(-" + this.top + "px) translateY(" + n + "px) translateZ(0px) rotate(90deg)" : this.el.style.left = n + "px"
- } else "b2t" === this.direction ? this.el.style.transform = "translateX(-" + this.top + "px) translateY(" + (this.el.getBoundingClientRect().top - e.top) + "px) translateZ(0px) rotate(90deg)" : this.el.style.left = this.el.getBoundingClientRect().left - e.left + "px";
- "b2t" === this.direction ? this.el.style.transition = "transform 0s linear 0s" : (this.el.style.transform = "translateX(0px) translateY(0px) translateZ(0px)", this.el.style.transition = "transform 0s linear 0s")
- } else this.pastDuration && this.startTime ? this.pastDuration = this.pastDuration + (new Date).getTime() - this.startTime : this.pastDuration = 1
- }
- }, {
- key: "startMove", value: function (e) {
- var t = this;
- if (this.el && "start" !== this.status) if (this.status = "start", this.el.style.willChange = "transform", "scroll" === this.mode) if ("b2t" === this.direction) {
- this.moveV = (e.height + this.height) / this.duration * 1e3;
- var n = (t.el.getBoundingClientRect().bottom - e.top) / this.moveV;
- this.el.style.transition = "transform " + n + "s linear 0s", setTimeout(function () {
- t.el && (t.el.style.transform = "translateX(-" + t.top + "px) translateY(-" + t.height + "px) translateZ(0px) rotate(90deg)", t.moveTime = (new Date).getTime(), t.moveMoreS = t.el.getBoundingClientRect().top - e.top, t.moveContainerHeight = e.height, t.removeTimer = setTimeout(i, 1e3 * n))
- }, 20)
- } else {
- this.moveV = (e.width + this.width) / this.duration * 1e3;
- var r = (t.el.getBoundingClientRect().right - e.left) / this.moveV;
- this.el.style.transition = "transform " + r + "s linear 0s", setTimeout(function () {
- t.el && (t.el.style.transform = "translateX(-" + (t.el.getBoundingClientRect().right - e.left) + "px) translateY(0px) translateZ(0px)", t.moveTime = (new Date).getTime(), t.moveMoreS = t.el.getBoundingClientRect().left - e.left, t.moveContainerWidth = e.width, t.removeTimer = setTimeout(i, 1e3 * r))
- }, 20)
- } else {
- this.el.style.left = "50%", this.el.style.margin = "0 0 0 -" + this.width / 2 + "px", this.pastDuration || (this.pastDuration = 1);
- var a = this.duration >= this.pastDuration ? this.duration - this.pastDuration : 0;
- this.removeTimer = setTimeout(i, a), this.startTime = (new Date).getTime()
- }
- function i() {
- if (t.el) if ("scroll" === t.mode) {
- var e = t.danmu.container.getBoundingClientRect(),
- n = t.el.getBoundingClientRect();
- "b2t" === t.direction ? n && n.bottom <= e.top + 100 ? (t.status = "end", t.remove()) : (t.pauseMove(e), t.startMove(e)) : n && n.right <= e.left + 100 ? (t.status = "end", t.remove()) : (t.pauseMove(e), t.startMove(e))
- } else t.status = "end", t.remove()
- }
- }
- }, {
- key: "remove", value: function () {
- var e = this;
- this.removeTimer && clearTimeout(this.removeTimer), e.el && e.el.parentNode && (e.el.style.willChange = "auto", this.danmu.off("changeDirection", function (t) {
- e.direction = t
- }), this.domObj.unuse(e.el), e.el.parentNode.removeChild(e.el), e.el = null, e.danmu.emit("bullet_remove", {bullet: e}))
- }
- }]), e
- }();
- t.default = o, e.exports = t.default
- }, function (e, t, n) {
- var r = n(27);
- "string" == typeof r && (r = [[e.i, r, ""]]);
- n(29)(r, {hmr: !0, transform: void 0, insertInto: void 0}), r.locals && (e.exports = r.locals)
- }, function (e, t, n) {
- (e.exports = n(28)(!1)).push([e.i, ".danmu{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;-ms-user-select:none}.danmu>*{position:absolute;white-space:nowrap}.danmu-switch{width:32px;height:20px;border-radius:100px;background-color:#ccc;-webkit-box-sizing:border-box;box-sizing:border-box;outline:none;cursor:pointer;position:relative;text-align:center;margin:10px auto}.danmu-switch.danmu-switch-active{padding-left:12px;background-color:#f85959}.danmu-switch span.txt{width:20px;height:20px;line-height:20px;text-align:center;display:block;border-radius:100px;background-color:#ffffff;-webkit-box-shadow:-2px 0 0 0 rgba(0, 0, 0, .04);box-shadow:-2px 0 0 0 rgba(0, 0, 0, .04);font-family:PingFangSC;font-size:10px;font-weight:500;color:#f44336}\n", ""])
- }, function (e, t) {
- e.exports = function (e) {
- var t = [];
- return t.toString = function () {
- return this.map(function (t) {
- var n = function (e, t) {
- var n, r = e[1] || "", a = e[3];
- if (!a) return r;
- if (t && "function" == typeof btoa) {
- var i = (n = a, "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(n)))) + " */"),
- o = a.sources.map(function (e) {
- return "/*# sourceURL=" + a.sourceRoot + e + " */"
- });
- return [r].concat(o).concat([i]).join("\n")
- }
- return [r].join("\n")
- }(t, e);
- return t[2] ? "@media " + t[2] + "{" + n + "}" : n
- }).join("")
- }, t.i = function (e, n) {
- "string" == typeof e && (e = [[null, e, ""]]);
- for (var r = {}, a = 0; a < this.length; a++) {
- var i = this[a][0];
- "number" == typeof i && (r[i] = !0)
- }
- for (a = 0; a < e.length; a++) {
- var o = e[a];
- "number" == typeof o[0] && r[o[0]] || (n && !o[2] ? o[2] = n : n && (o[2] = "(" + o[2] + ") and (" + n + ")"), t.push(o))
- }
- }, t
- }
- }, function (e, t, n) {
- var r, a, i = {}, l = (r = function () {
- return window && document && document.all && !window.atob
- }, function () {
- return void 0 === a && (a = r.apply(this, arguments)), a
- }), s = function (e) {
- var t = {};
- return function (e) {
- if ("function" == typeof e) return e();
- if (void 0 === t[e]) {
- var n = function (e) {
- return document.querySelector(e)
- }.call(this, e);
- if (window.HTMLIFrameElement && n instanceof window.HTMLIFrameElement) try {
- n = n.contentDocument.head
- } catch (e) {
- n = null
- }
- t[e] = n
- }
- return t[e]
- }
- }(), u = null, c = 0, p = [], d = n(30);
- function f(e, t) {
- for (var n = 0; n < e.length; n++) {
- var r = e[n], a = i[r.id];
- if (a) {
- a.refs++;
- for (var o = 0; o < a.parts.length; o++) a.parts[o](r.parts[o]);
- for (; o < r.parts.length; o++) a.parts.push(v(r.parts[o], t))
- } else {
- var l = [];
- for (o = 0; o < r.parts.length; o++) l.push(v(r.parts[o], t));
- i[r.id] = {id: r.id, refs: 1, parts: l}
- }
- }
- }
- function g(e, t) {
- for (var n = [], r = {}, a = 0; a < e.length; a++) {
- var i = e[a], o = t.base ? i[0] + t.base : i[0],
- l = {css: i[1], media: i[2], sourceMap: i[3]};
- r[o] ? r[o].parts.push(l) : n.push(r[o] = {id: o, parts: [l]})
- }
- return n
- }
- function h(e, t) {
- var n = s(e.insertInto);
- if (!n) throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
- var r = p[p.length - 1];
- if ("top" === e.insertAt) r ? r.nextSibling ? n.insertBefore(t, r.nextSibling) : n.appendChild(t) : n.insertBefore(t, n.firstChild), p.push(t); else if ("bottom" === e.insertAt) n.appendChild(t); else {
- if ("object" != o(e.insertAt) || !e.insertAt.before) throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");
- var a = s(e.insertInto + " " + e.insertAt.before);
- n.insertBefore(t, a)
- }
- }
- function y(e) {
- if (null === e.parentNode) return !1;
- e.parentNode.removeChild(e);
- var t = p.indexOf(e);
- t >= 0 && p.splice(t, 1)
- }
- function x(e) {
- var t = document.createElement("style");
- return void 0 === e.attrs.type && (e.attrs.type = "text/css"), m(t, e.attrs), h(e, t), t
- }
- function m(e, t) {
- Object.keys(t).forEach(function (n) {
- e.setAttribute(n, t[n])
- })
- }
- function v(e, t) {
- var n, r, a, i;
- if (t.transform && e.css) {
- if (!(i = t.transform(e.css))) return function () {
- };
- e.css = i
- }
- if (t.singleton) {
- var o = c++;
- n = u || (u = x(t)), r = w.bind(null, n, o, !1), a = w.bind(null, n, o, !0)
- } else e.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa ? (n = function (e) {
- var t = document.createElement("link");
- return void 0 === e.attrs.type && (e.attrs.type = "text/css"), e.attrs.rel = "stylesheet", m(t, e.attrs), h(e, t), t
- }(t), r = function (e, t, n) {
- var r = n.css, a = n.sourceMap, i = void 0 === t.convertToAbsoluteUrls && a;
- (t.convertToAbsoluteUrls || i) && (r = d(r)), a && (r += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(a)))) + " */");
- var o = new Blob([r], {type: "text/css"}), l = e.href;
- e.href = URL.createObjectURL(o), l && URL.revokeObjectURL(l)
- }.bind(null, n, t), a = function () {
- y(n), n.href && URL.revokeObjectURL(n.href)
- }) : (n = x(t), r = function (e, t) {
- var n = t.css, r = t.media;
- if (r && e.setAttribute("media", r), e.styleSheet) e.styleSheet.cssText = n; else {
- for (; e.firstChild;) e.removeChild(e.firstChild);
- e.appendChild(document.createTextNode(n))
- }
- }.bind(null, n), a = function () {
- y(n)
- });
- return r(e), function (t) {
- if (t) {
- if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap) return;
- r(e = t)
- } else a()
- }
- }
- e.exports = function (e, t) {
- if ("undefined" != typeof DEBUG && DEBUG && "object" != ("undefined" == typeof document ? "undefined" : o(document))) throw new Error("The style-loader cannot be used in a non-browser environment");
- (t = t || {}).attrs = "object" == o(t.attrs) ? t.attrs : {}, t.singleton || "boolean" == typeof t.singleton || (t.singleton = l()), t.insertInto || (t.insertInto = "head"), t.insertAt || (t.insertAt = "bottom");
- var n = g(e, t);
- return f(n, t), function (e) {
- for (var r = [], a = 0; a < n.length; a++) {
- var o = n[a];
- (l = i[o.id]).refs--, r.push(l)
- }
- for (e && f(g(e, t), t), a = 0; a < r.length; a++) {
- var l;
- if (0 === (l = r[a]).refs) {
- for (var s = 0; s < l.parts.length; s++) l.parts[s]();
- delete i[l.id]
- }
- }
- }
- };
- var b, k = (b = [], function (e, t) {
- return b[e] = t, b.filter(Boolean).join("\n")
- });
- function w(e, t, n, r) {
- var a = n ? "" : r.css;
- if (e.styleSheet) e.styleSheet.cssText = k(t, a); else {
- var i = document.createTextNode(a), o = e.childNodes;
- o[t] && e.removeChild(o[t]), o.length ? e.insertBefore(i, o[t]) : e.appendChild(i)
- }
- }
- }, function (e, t) {
- e.exports = function (e) {
- var t = "undefined" != typeof window && window.location;
- if (!t) throw new Error("fixUrls requires window.location");
- if (!e || "string" != typeof e) return e;
- var n = t.protocol + "//" + t.host, r = n + t.pathname.replace(/\/[^\/]*$/, "/");
- return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function (e, t) {
- var a, i = t.trim().replace(/^"(.*)"$/, function (e, t) {
- return t
- }).replace(/^'(.*)'$/, function (e, t) {
- return t
- });
- return /^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i) ? e : (a = 0 === i.indexOf("//") ? i : 0 === i.indexOf("/") ? n + i : r + i.replace(/^\.\//, ""), "url(" + JSON.stringify(a) + ")")
- })
- }
- }])
- }, "object" == o(t) && "object" == o(e) ? e.exports = i() : (r = [], void 0 === (a = "function" == typeof(n = i) ? n.apply(t, r) : n) || (e.exports = a))
- }).call(this, n(90)(e))
- }, function (e, t, n) {
- "use strict";
- e.exports = function (e) {
- return e.webpackPolyfill || (e.deprecate = function () {
- }, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", {
- enumerable: !0,
- get: function () {
- return e.l
- }
- }), Object.defineProperty(e, "id", {
- enumerable: !0, get: function () {
- return e.i
- }
- }), e.webpackPolyfill = 1), e
- }
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" width="40" height="40">\n <path fill="#f85959" transform="scale(0.8 0.8)" d="M36.5,18.73a1.19,1.19,0,0,0,1-1.14V16.33a1.2,1.2,0,0,0-1-1.13l-.61-.08a1.75,1.75,0,0,1-1.3-.86l-.21-.36-.2-.36A1.72,1.72,0,0,1,34,12l.23-.58a1.18,1.18,0,0,0-.5-1.42l-1.1-.62a1.18,1.18,0,0,0-1.47.3l-.39.51a1.82,1.82,0,0,1-1.41.72c-.44,0-1.88-.27-2.22-.7l-.39-.49a1.18,1.18,0,0,0-1.48-.28l-1.09.64a1.19,1.19,0,0,0-.47,1.43l.25.59a1.87,1.87,0,0,1-.08,1.58c-.26.37-1.17,1.5-1.71,1.58l-.63.09a1.19,1.19,0,0,0-1,1.14l0,1.27a1.17,1.17,0,0,0,1,1.12l.61.08a1.74,1.74,0,0,1,1.3.87l.21.36.2.35A1.69,1.69,0,0,1,24,22.08l-.23.59a1.19,1.19,0,0,0,.5,1.42l1.1.62a1.19,1.19,0,0,0,1.48-.31l.38-.5a1.83,1.83,0,0,1,1.41-.72c.44,0,1.88.25,2.22.69l.39.49a1.18,1.18,0,0,0,1.48.28L33.86,24a1.19,1.19,0,0,0,.47-1.43L34.09,22a1.84,1.84,0,0,1,.07-1.58c.26-.37,1.17-1.5,1.72-1.58ZM31,18.94a2.76,2.76,0,0,1-4.65-1.2A2.71,2.71,0,0,1,27,15.13a2.76,2.76,0,0,1,4.64,1.2A2.7,2.7,0,0,1,31,18.94Z"/>\n <path fill="#f85959" transform="scale(0.8 0.8)" d="M32,0H3.59A3.59,3.59,0,0,0,0,3.59v17A3.59,3.59,0,0,0,3.59,24.2H19.72a12.59,12.59,0,0,1-.81-1.2A11.73,11.73,0,0,1,35.54,7.28V3.59A3.59,3.59,0,0,0,32,0ZM13,14.18H4.29a1.52,1.52,0,0,1,0-3H13a1.52,1.52,0,0,1,0,3ZM16.45,8H4.29a1.51,1.51,0,0,1,0-3H16.45a1.51,1.51,0,1,1,0,3Z"/>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_pip", function () {
- var e = this, t = i.default.util;
- if (e.config.pip) {
- var n = e.lang.PIP,
- r = t.createDom("xg-pip", '<p class="name"><span>' + n + "</span></p>", {tabindex: 9}, "xgplayer-pip");
- e.once("ready", function () {
- e.controls.appendChild(r)
- }), ["click", "touchend"].forEach(function (t) {
- r.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("pipBtnClick")
- })
- })
- }
- })
- }, function (e, t, n) {
- "use strict";
- var r = i(n(0)), a = i(n(94));
- function i(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_playNext", function () {
- var e = this, t = r.default.util, n = e.config.playNext;
- if (n && n.urlList) {
- var i = t.createDom("xg-playnext", '<xg-icon class="xgplayer-icon">' + a.default + "</xg-icon>", {}, "xgplayer-playnext"),
- o = e.lang.PLAYNEXT_TIPS,
- l = t.createDom("xg-tips", '<span class="xgplayer-tip-playnext">' + o + "</span>", {}, "xgplayer-tips");
- i.appendChild(l), e.once("ready", function () {
- e.controls.appendChild(i)
- }), ["click", "touchend"].forEach(function (t) {
- i.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("playNextBtnClick")
- })
- })
- }
- })
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">\n <path transform="scale(0.038 0.028)" d="M800 380v768h-128v-352l-320 320v-704l320 320v-352z"></path>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r = i(n(0)), a = i(n(96));
- function i(e) {
- return e && e.__esModule ? e : {default: e}
- }
- r.default.install("s_rotate", function () {
- var e = this, t = r.default.util;
- if (e.config.rotate) {
- var n = t.createDom("xg-rotate", '<xg-icon class="xgplayer-icon">' + a.default + "</xg-icon>", {}, "xgplayer-rotate"),
- i = e.lang.ROTATE_TIPS,
- o = t.createDom("xg-tips", '<span class="xgplayer-tip-rotate">' + i + "</span>", {}, "xgplayer-tips");
- n.appendChild(o), e.once("ready", function () {
- e.controls.appendChild(n)
- }), ["click", "touchend"].forEach(function (t) {
- n.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("rotateBtnClick")
- })
- })
- }
- })
- }, function (e, t, n) {
- "use strict";
- n.r(t), t.default = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 40 40" fill="none">\n <g clip-path="url(#clip0)">\n <path transform="scale(1.5 1.5)" d="M11.6665 9.16663H4.1665C2.78579 9.16663 1.6665 10.2859 1.6665 11.6666V15.8333C1.6665 17.214 2.78579 18.3333 4.1665 18.3333H11.6665C13.0472 18.3333 14.1665 17.214 14.1665 15.8333V11.6666C14.1665 10.2859 13.0472 9.16663 11.6665 9.16663Z" fill="white"/>\n <path transform="scale(1.5 1.5)" fill-rule="evenodd" clip-rule="evenodd" d="M3.88148 4.06298C3.75371 4.21005 3.67667 4.40231 3.67749 4.61242C3.67847 4.87253 3.79852 5.10435 3.98581 5.25646L6.99111 8.05895C7.32771 8.37283 7.85502 8.35443 8.16891 8.01782C8.48279 7.68122 8.46437 7.15391 8.12778 6.84003L6.62061 5.43457L9.8198 5.4224C9.82848 5.42239 9.8372 5.42221 9.84591 5.4219C10.9714 5.38233 12.0885 5.6285 13.0931 6.13744C14.0976 6.64635 14.957 7.40148 15.5908 8.33234C16.2246 9.2632 16.6122 10.3394 16.7177 11.4606C16.823 12.5819 16.6427 13.7115 16.1934 14.7442C16.0098 15.1661 16.203 15.6571 16.6251 15.8408C17.0471 16.0243 17.5381 15.8311 17.7216 15.4091C18.2833 14.1183 18.5087 12.7063 18.3771 11.3047C18.2453 9.90318 17.7607 8.55792 16.9684 7.39433C16.1761 6.23073 15.1021 5.28683 13.8463 4.65065C12.5946 4.01651 11.203 3.70872 9.80072 3.75583L6.43415 3.76862L7.96326 2.12885C8.27715 1.79225 8.25872 1.26494 7.92213 0.951061C7.58553 0.63718 7.05822 0.655585 6.74433 0.99219L3.90268 4.0395C3.89545 4.04724 3.88841 4.05509 3.88154 4.06303L3.88148 4.06298Z" fill="white"/>\n </g>\n <defs>\n <clipPath id="clip0">\n <rect width="40" height="40" fill="white"/>\n </clipPath>\n </defs>\n</svg>\n'
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_screenShot", function () {
- var e = this, t = i.default.util;
- if (e.config.screenShot) {
- var n = e.lang.SCREENSHOT,
- r = t.createDom("xg-screenshot", '<p class="name"><span>' + n + "</span></p>", {tabindex: 11}, "xgplayer-screenshot");
- e.once("ready", function () {
- e.controls.appendChild(r)
- }), ["click", "touchend"].forEach(function (t) {
- r.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation(), e.emit("screenShotBtnClick")
- })
- })
- }
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_textTrack", function () {
- if (!(navigator.userAgent.indexOf("Chrome") < 0)) {
- var e = this, t = e.root, n = i.default.util,
- r = (i.default.sniffer, e.controls, n.createDom("xg-texttrack", "", {tabindex: 7}, "xgplayer-texttrack")),
- a = e.config.textTrack;
- a && Array.isArray(a) && a.length > 1 && (n.addClass(e.root, "xgplayer-is-texttrack"), e.on("canplay", function () {
- var i = ["<ul>"];
- i.push("<li class=''}'>关闭</li>"), a.forEach(function (e) {
- i.push("<li class='" + (e.default ? "selected" : "") + "'>" + e.label + "</li>")
- });
- var o = e.lang.TEXTTRACK;
- i.push('</ul><p class="name"><em>' + o + "</em></p>");
- var l = t.querySelector(".xgplayer-texttrack");
- if (l) {
- l.innerHTML = i.join("");
- var s = l.querySelector(".name");
- e.config.textTrackActive && "hover" !== e.config.textTrackActive || s.addEventListener("mouseenter", function (e) {
- e.preventDefault(), e.stopPropagation(), n.addClass(t, "xgplayer-texttrack-active"), l.focus()
- })
- } else {
- r.innerHTML = i.join("");
- var u = r.querySelector(".name");
- e.config.textTrackActive && "hover" !== e.config.textTrackActive || u.addEventListener("mouseenter", function (t) {
- t.preventDefault(), t.stopPropagation(), n.addClass(e.root, "xgplayer-texttrack-active"), r.focus()
- }), e.controls.appendChild(r)
- }
- })), ["touchend", "click"].forEach(function (t) {
- r.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation();
- var i = t.target || t.srcElement;
- if (i && "li" === i.tagName.toLocaleLowerCase()) {
- Array.prototype.forEach.call(i.parentNode.childNodes, function (e) {
- n.removeClass(e, "selected")
- }), n.addClass(i, "selected");
- var o = e.root.getElementsByTagName("Track");
- "关闭" === i.innerHTML ? (o[0].track.mode = "hidden", n.removeClass(e.root, "xgplayer-texttrack-active")) : (n.hasClass(e.root, "xgplayer-texttrack-active") || n.addClass(e.root, "xgplayer-texttrack-active"), o[0].track.mode = "showing", a.some(function (e) {
- if (e.label === i.innerHTML) return o[0].src = e.src, e.kind && (o[0].kind = e.kind), o[0].label = e.label, e.srclang && (o[0].srclang = e.srclang), !0
- }), e.emit("textTrackChange", i.innerHTML))
- } else "click" !== e.config.textTrackActive || !i || "p" !== i.tagName.toLocaleLowerCase() && "em" !== i.tagName.toLocaleLowerCase() || (n.addClass(e.root, "xgplayer-texttrack-active"), r.focus())
- }, !1)
- }), r.addEventListener("mouseleave", function (t) {
- t.preventDefault(), t.stopPropagation(), n.removeClass(e.root, "xgplayer-texttrack-active")
- })
- }
- })
- }, function (e, t, n) {
- "use strict";
- var r, a = n(0), i = (r = a) && r.__esModule ? r : {default: r};
- i.default.install("s_error", function () {
- var e = this, t = e.root, n = i.default.util,
- r = n.createDom("xg-error", '<em class="xgplayer-error-text">请<span class="xgplayer-error-refresh">刷新</span>试试</em>', {}, "xgplayer-error");
- t.appendChild(r);
- var a = r.querySelector(".xgplayer-error-text"), o = null;
- function l() {
- e.error ? a.innerHTML = e.error : e.config.lang && "zh-cn" === e.config.lang ? a.innerHTML = e.lang.ERROR + ',请<span class="xgplayer-error-refresh">刷新</span>试试' : a.innerHTML = e.lang.ERROR + ',please try to <span class="xgplayer-error-refresh">refresh</span>', n.addClass(e.root, "xgplayer-is-error"), (o = r.querySelector(".xgplayer-error-refresh")) && ["touchend", "click"].forEach(function (t) {
- o.addEventListener(t, function (t) {
- t.preventDefault(), t.stopPropagation();
- var n = t.target || t.srcElement;
- n && "span" === n.tagName.toLocaleLowerCase() && (e.controls.style.display = "flex", e.reload())
- })
- })
- }
- e.on("error", l), e.once("destroy", function t() {
- e.off("error", l), e.off("destroy", t)
- })
- })
- }]);
- //# sourceMappingURL=index.js.map
- exports('Player', Player);
- });
|