过于脆弱,
// 一旦有人为可读性加上该标志即退化为存储型 XSS。
var peaks = [{"t":11.5158,"i":11.1092,"hkl":"(0,0,0,1)","d":7.68422},{"t":11.5159,"i":11.0453,"hkl":"(0,1,-1,0)","d":7.68415},{"t":11.5159,"i":11.0153,"hkl":"(0,1,-1,-1)","d":7.68411},{"t":20.014,"i":1.2881,"hkl":"(0,1,-1,1)","d":4.43648},{"t":20.0141,"i":1.2876,"hkl":"(0,1,-1,-2)","d":4.43646},{"t":20.0143,"i":1.2807,"hkl":"(0,2,-2,-1)","d":4.43642},{"t":24.2215,"i":6.2303,"hkl":"(1,1,-2,1)","d":3.67452},{"t":24.2215,"i":6.2319,"hkl":"(1,1,-2,-2)","d":3.6745},{"t":24.2217,"i":6.234,"hkl":"(1,2,-3,-1)","d":3.67448},{"t":27.1983,"i":98.9025,"hkl":"(2,0,-2,0)","d":3.27873},{"t":29.6227,"i":15.1468,"hkl":"(2,0,-2,1)","d":3.01568},{"t":29.6227,"i":15.1348,"hkl":"(2,1,-3,0)","d":3.01568},{"t":29.6227,"i":15.1209,"hkl":"(2,1,-3,-1)","d":3.01568},{"t":30.7856,"i":19.7892,"hkl":"(0,1,-1,2)","d":2.90436},{"t":30.7857,"i":19.7539,"hkl":"(0,2,-2,1)","d":2.90435},{"t":30.7858,"i":19.8024,"hkl":"(0,1,-1,-3)","d":2.90435},{"t":30.7859,"i":19.7323,"hkl":"(0,2,-2,-3)","d":2.90433},{"t":30.786,"i":19.7515,"hkl":"(0,3,-3,-1)","d":2.90432},{"t":30.7861,"i":19.7175,"hkl":"(0,3,-3,-2)","d":2.90432},{"t":33.7525,"i":74.4694,"hkl":"(1,1,-2,2)","d":2.65555},{"t":33.7526,"i":74.5013,"hkl":"(1,2,-3,1)","d":2.65554},{"t":33.7526,"i":74.4662,"hkl":"(1,-1,0,3)","d":2.65554},{"t":33.7527,"i":74.5004,"hkl":"(1,-2,1,3)","d":2.65553},{"t":33.7528,"i":74.5051,"hkl":"(1,3,-4,-1)","d":2.65552},{"t":33.7529,"i":74.5099,"hkl":"(1,3,-4,-2)","d":2.65551},{"t":33.9999,"i":100,"hkl":"(2,1,-3,1)","d":2.63679},{"t":33.9999,"i":99.9963,"hkl":"(2,1,-3,-2)","d":2.63678},{"t":34,"i":99.9519,"hkl":"(2,2,-4,-1)","d":2.63678},{"t":35.0324,"i":45.4739,"hkl":"(0,0,0,3)","d":2.56141},{"t":35.0327,"i":45.446,"hkl":"(0,3,-3,0)","d":2.56138},{"t":35.0329,"i":45.4408,"hkl":"(0,3,-3,-3)","d":2.56137},{"t":36.0106,"i":18.5595,"hkl":"(2,0,-2,2)","d":2.49404},{"t":36.0107,"i":18.6008,"hkl":"(2,2,-4,0)","d":2.49403},{"t":36.0108,"i":18.6274,"hkl":"(2,2,-4,-2)","d":2.49403},{"t":40.6734,"i":1.0861,"hkl":"(0,2,-2,2)","d":2.21824},{"t":40.6737,"i":1.0859,"hkl":"(0,2,-2,-4)","d":2.21823},{"t":40.674,"i":1.0873,"hkl":"(0,4,-4,-2)","d":2.21821},{"t":42.4126,"i":4.8001,"hkl":"(0,1,-1,3)","d":2.13122},{"t":42.4127,"i":4.7952,"hkl":"(0,1,-1,-4)","d":2.13121},{"t":42.4128,"i":4.8333,"hkl":"(0,3,-3,1)","d":2.13121},{"t":42.4131,"i":4.845,"hkl":"(0,3,-3,-4)","d":2.1312},{"t":42.4132,"i":4.8186,"hkl":"(0,4,-4,-1)","d":2.13119},{"t":42.4133,"i":4.835,"hkl":"(0,4,-4,-3)","d":2.13119},{"t":43.047,"i":13.6961,"hkl":"(1,2,-3,2)","d":2.10127},{"t":43.0472,"i":13.6984,"hkl":"(1,-2,1,4)","d":2.10126},{"t":43.0476,"i":13.7339,"hkl":"(1,4,-5,-2)","d":2.10124},{"t":44.711,"i":12.2814,"hkl":"(1,1,-2,3)","d":2.02686},{"t":44.7111,"i":12.2804,"hkl":"(1,1,-2,-4)","d":2.02685},{"t":44.7112,"i":12.271,"hkl":"(1,3,-4,1)","d":2.02685},{"t":44.7115,"i":12.269,"hkl":"(1,3,-4,-4)","d":2.02684},{"t":44.7115,"i":12.2662,"hkl":"(1,4,-5,-1)","d":2.02684},{"t":44.7117,"i":12.2652,"hkl":"(1,-4,3,3)","d":2.02683},{"t":46.3045,"i":1.1903,"hkl":"(3,1,-4,1)","d":1.96075},{"t":46.3045,"i":1.1906,"hkl":"(3,1,-4,-2)","d":1.96075},{"t":46.3046,"i":1.191,"hkl":"(3,2,-5,-1)","d":1.96075},{"t":47.319,"i":1.4683,"hkl":"(0,0,0,4)","d":1.92105},{"t":47.3194,"i":1.477,"hkl":"(0,4,-4,0)","d":1.92104},{"t":47.3197,"i":1.4839,"hkl":"(0,4,-4,-4)","d":1.92103},{"t":49.6191,"i":18.3356,"hkl":"(2,2,-4,2)","d":1.83726},{"t":49.6193,"i":18.336,"hkl":"(2,2,-4,-4)","d":1.83725},{"t":49.6196,"i":18.3296,"hkl":"(2,4,-6,-2)","d":1.83724},{"t":52.3884,"i":21.7362,"hkl":"(3,1,-4,2)","d":1.74647},{"t":52.3885,"i":43.4798,"hkl":"(3,2,-5,1)","d":1.74647},{"t":52.3886,"i":21.7454,"hkl":"(3,2,-5,-3)","d":1.74647},{"t":52.3887,"i":21.7469,"hkl":"(3,3,-6,-1)","d":1.74646},{"t":52.3888,"i":21.7478,"hkl":"(3,3,-6,-2)","d":1.74646},{"t":53.8513,"i":3.8218,"hkl":"(1,2,-3,3)","d":1.70243},{"t":53.8514,"i":3.8254,"hkl":"(1,3,-4,2)","d":1.70243},{"t":53.8516,"i":3.8205,"hkl":"(1,-2,1,5)","d":1.70243},{"t":53.8518,"i":3.8247,"hkl":"(1,3,-4,-5)","d":1.70242},{"t":53.8521,"i":3.8153,"hkl":"(1,5,-6,-2)","d":1.70241},{"t":53.8521,"i":3.8157,"hkl":"(1,5,-6,-3)","d":1.70241},{"t":54.7416,"i":5.0687,"hkl":"(0,1,-1,4)","d":1.67683},{"t":54.7417,"i":5.0699,"hkl":"(0,1,-1,-5)","d":1.67683},{"t":54.7419,"i":5.0641,"hkl":"(0,4,-4,1)","d":1.67682},{"t":54.7423,"i":5.0747,"hkl":"(0,5,-5,-1)","d":1.67682},{"t":54.7423,"i":5.0648,"hkl":"(0,4,-4,-5)","d":1.67681},{"t":54.7425,"i":5.0741,"hkl":"(0,5,-5,-4)","d":1.67681},{"t":55.4347,"i":13.3225,"hkl":"(2,0,-2,4)","d":1.6575},{"t":55.435,"i":13.2781,"hkl":"(2,4,-6,0)","d":1.65749},{"t":55.4353,"i":13.2534,"hkl":"(2,4,-6,-4)","d":1.65748},{"t":56.1018,"i":47.1335,"hkl":"(4,0,-4,0)","d":1.63936},{"t":59.3593,"i":5.3668,"hkl":"(3,2,-5,2)","d":1.55694},{"t":59.3594,"i":5.3677,"hkl":"(3,2,-5,-4)","d":1.55694},{"t":59.3597,"i":5.3816,"hkl":"(3,4,-7,-2)","d":1.55693},{"t":59.5388,"i":4.8334,"hkl":"(2,2,-4,3)","d":1.55268},{"t":59.5389,"i":4.8048,"hkl":"(2,3,-5,2)","d":1.55267},{"t":59.539,"i":4.8413,"hkl":"(2,2,-4,-5)","d":1.55267},{"t":59.5392,"i":4.7952,"hkl":"(2,-3,1,5)","d":1.55267},{"t":59.5395,"i":4.8205,"hkl":"(2,5,-7,-2)","d":1.55266},{"t":59.5396,"i":4.8035,"hkl":"(2,5,-7,-3)","d":1.55266},{"t":60.2152,"i":10.4065,"hkl":"(0,0,0,5)","d":1.53684},{"t":60.2158,"i":10.3914,"hkl":"(0,5,-5,0)","d":1.53683},{"t":60.2161,"i":10.3762,"hkl":"(0,5,-5,-5)","d":1.53682},{"t":60.6907,"i":5.0374,"hkl":"(3,1,-4,3)","d":1.52594},{"t":60.6908,"i":5.0368,"hkl":"(3,1,-4,-4)","d":1.52593},{"t":60.6909,"i":5.033,"hkl":"(3,3,-6,1)","d":1.52593},{"t":60.6911,"i":5.0324,"hkl":"(3,3,-6,-4)","d":1.52593},{"t":60.6911,"i":5.0312,"hkl":"(3,4,-7,-1)","d":1.52593},{"t":60.6913,"i":5.0306,"hkl":"(3,4,-7,-3)","d":1.52592},{"t":62.18,"i":1.4885,"hkl":"(2,1,-3,4)","d":1.49292},{"t":62.1802,"i":1.4877,"hkl":"(2,-1,-1,5)","d":1.49292},{"t":62.1804,"i":1.4914,"hkl":"(2,4,-6,1)","d":1.49291},{"t":62.1807,"i":1.4846,"hkl":"(2,5,-7,-1)","d":1.49291},{"t":62.1807,"i":1.4908,"hkl":"(2,-4,2,5)","d":1.49291},{"t":62.1809,"i":1.4849,"hkl":"(2,5,-7,-4)","d":1.4929},{"t":64.1286,"i":5.1133,"hkl":"(0,2,-2,4)","d":1.45218},{"t":64.1288,"i":5.1346,"hkl":"(0,4,-4,2)","d":1.45218},{"t":64.1288,"i":5.1086,"hkl":"(0,2,-2,-6)","d":1.45218},{"t":64.1293,"i":5.1428,"hkl":"(0,4,-4,-6)","d":1.45217},{"t":64.1295,"i":5.1198,"hkl":"(0,6,-6,-2)","d":1.45216},{"t":64.1297,"i":5.1326,"hkl":"(0,6,-6,-4)","d":1.45216},{"t":64.6061,"i":14.1078,"hkl":"(1,3,-4,3)","d":1.4426},{"t":64.6064,"i":14.1092,"hkl":"(1,3,-4,-6)","d":1.44259},{"t":64.607,"i":14.1017,"hkl":"(1,6,-7,-3)","d":1.44258},{"t":65.3668,"i":4.6502,"hkl":"(4,1,-5,2)","d":1.42764},{"t":65.3669,"i":9.2953,"hkl":"(4,2,-6,1)","d":1.42764},{"t":65.367,"i":4.6369,"hkl":"(4,2,-6,-3)","d":1.42763},{"t":65.3671,"i":4.6414,"hkl":"(4,3,-7,-1)","d":1.42763},{"t":65.3671,"i":4.6335,"hkl":"(4,3,-7,-2)","d":1.42763},{"t":65.8761,"i":2.7292,"hkl":"(1,2,-3,4)","d":1.41783},{"t":65.8764,"i":2.7181,"hkl":"(1,4,-5,2)","d":1.41783},{"t":65.8764,"i":2.7291,"hkl":"(1,2,-3,-6)","d":1.41783},{"t":65.8768,"i":2.717,"hkl":"(1,4,-5,-6)","d":1.41782},{"t":65.8771,"i":2.7264,"hkl":"(1,6,-7,-2)","d":1.41781},{"t":65.8772,"i":2.7252,"hkl":"(1,6,-7,-4)","d":1.41781},{"t":67.2834,"i":31.0306,"hkl":"(2,0,-2,5)","d":1.39156},{"t":67.2839,"i":31.1046,"hkl":"(2,5,-7,0)","d":1.39155},{"t":67.2843,"i":31.141,"hkl":"(2,5,-7,-5)","d":1.39154},{"t":67.8801,"i":13.5388,"hkl":"(4,0,-4,3)","d":1.38077},{"t":67.8803,"i":13.5307,"hkl":"(4,3,-7,0)","d":1.38077},{"t":67.8804,"i":13.5293,"hkl":"(4,3,-7,-3)","d":1.38077},{"t":67.9162,"i":1.6432,"hkl":"(0,1,-1,5)","d":1.38013},{"t":67.9163,"i":1.6441,"hkl":"(0,1,-1,-6)","d":1.38012},{"t":67.9167,"i":1.6328,"hkl":"(0,5,-5,1)","d":1.38012},{"t":67.917,"i":1.6293,"hkl":"(0,6,-6,-1)","d":1.38011},{"t":67.9171,"i":1.6269,"hkl":"(0,5,-5,-6)","d":1.38011},{"t":67.9174,"i":1.6226,"hkl":"(0,6,-6,-5)","d":1.38011},{"t":68.362,"i":1.8686,"hkl":"(3,2,-5,3)","d":1.37221},{"t":68.3621,"i":1.8705,"hkl":"(3,3,-6,2)","d":1.37221},{"t":68.3622,"i":1.8681,"hkl":"(3,-2,-1,5)","d":1.37221},{"t":68.3623,"i":1.87,"hkl":"(3,3,-6,-5)","d":1.3722},{"t":68.3626,"i":1.8655,"hkl":"(3,5,-8,-2)","d":1.3722},{"t":68.3627,"i":1.8657,"hkl":"(3,5,-8,-3)","d":1.3722},{"t":69.6154,"i":1.0431,"hkl":"(1,1,-2,5)","d":1.35054},{"t":69.6155,"i":1.0429,"hkl":"(1,-1,0,6)","d":1.35054},{"t":69.6159,"i":1.0413,"hkl":"(1,5,-6,1)","d":1.35053},{"t":69.6163,"i":1.0406,"hkl":"(1,6,-7,-1)","d":1.35052},{"t":69.6163,"i":1.0406,"hkl":"(1,5,-6,-6)","d":1.35052},{"t":69.6166,"i":1.0403,"hkl":"(1,6,-7,-5)","d":1.35052},{"t":69.7625,"i":9.237,"hkl":"(2,3,-5,3)","d":1.34805},{"t":69.7629,"i":9.2365,"hkl":"(2,3,-5,-6)","d":1.34804},{"t":69.7634,"i":9.2551,"hkl":"(2,6,-8,-3)","d":1.34804},{"t":70.987,"i":1.3957,"hkl":"(2,2,-4,4)","d":1.32777},{"t":70.9872,"i":1.3846,"hkl":"(2,4,-6,2)","d":1.32777},{"t":70.9872,"i":1.3981,"hkl":"(2,-2,0,6)","d":1.32777},{"t":70.9877,"i":1.3792,"hkl":"(2,-4,2,6)","d":1.32776},{"t":70.9879,"i":1.3888,"hkl":"(2,6,-8,-2)","d":1.32776},{"t":70.9881,"i":1.381,"hkl":"(2,6,-8,-4)","d":1.32776},{"t":72.7809,"i":1.992,"hkl":"(4,1,-5,3)","d":1.29941},{"t":72.781,"i":1.99,"hkl":"(4,1,-5,-4)","d":1.29941},{"t":72.7811,"i":2.0057,"hkl":"(4,3,-7,1)","d":1.29941},{"t":72.7813,"i":2.0105,"hkl":"(4,3,-7,-4)","d":1.2994},{"t":72.7813,"i":1.9996,"hkl":"(4,4,-8,-1)","d":1.2994},{"t":72.7814,"i":2.0064,"hkl":"(4,4,-8,-3)","d":1.2994},{"t":76.8479,"i":2.1027,"hkl":"(1,3,-4,4)","d":1.24047},{"t":76.848,"i":2.108,"hkl":"(1,4,-5,3)","d":1.24047},{"t":76.8483,"i":2.1028,"hkl":"(1,3,-4,-7)","d":1.24046},{"t":76.8485,"i":2.1086,"hkl":"(1,4,-5,-7)","d":1.24046},{"t":76.8491,"i":2.1088,"hkl":"(1,7,-8,-3)","d":1.24045},{"t":76.8492,"i":2.1094,"hkl":"(1,7,-8,-4)","d":1.24045},{"t":77.5891,"i":2.1388,"hkl":"(0,2,-2,5)","d":1.23046},{"t":77.5894,"i":2.1384,"hkl":"(0,2,-2,-7)","d":1.23046},{"t":77.5895,"i":2.1397,"hkl":"(0,5,-5,2)","d":1.23045},{"t":77.5901,"i":2.1394,"hkl":"(0,5,-5,-7)","d":1.23045},{"t":77.5903,"i":2.1407,"hkl":"(0,7,-7,-2)","d":1.23044},{"t":77.5906,"i":2.141,"hkl":"(0,7,-7,-5)","d":1.23044},{"t":78.0125,"i":8.2847,"hkl":"(3,3,-6,3)","d":1.22484},{"t":78.0128,"i":8.2855,"hkl":"(3,-3,0,6)","d":1.22483},{"t":78.0133,"i":8.2812,"hkl":"(3,6,-9,-3)","d":1.22483},{"t":79.189,"i":1.6469,"hkl":"(3,2,-5,4)","d":1.20957},{"t":79.1892,"i":1.6404,"hkl":"(3,4,-7,2)","d":1.20957},{"t":79.1892,"i":1.6469,"hkl":"(3,-2,-1,6)","d":1.20957},{"t":79.1896,"i":1.6396,"hkl":"(3,4,-7,-6)","d":1.20956},{"t":79.1899,"i":1.6453,"hkl":"(3,6,-9,-2)","d":1.20956},{"t":79.19,"i":1.6446,"hkl":"(3,6,-9,-4)","d":1.20956},{"t":79.206,"i":1.5791,"hkl":"(1,2,-3,5)","d":1.20935},{"t":79.2063,"i":1.5794,"hkl":"(1,2,-3,-7)","d":1.20935},{"t":79.2064,"i":1.5745,"hkl":"(1,5,-6,2)","d":1.20935},{"t":79.207,"i":1.5741,"hkl":"(1,5,-6,-7)","d":1.20934},{"t":79.2072,"i":1.5781,"hkl":"(1,7,-8,-2)","d":1.20934},{"t":79.2075,"i":1.5775,"hkl":"(1,7,-8,-5)","d":1.20934},{"t":80.3271,"i":6.3456,"hkl":"(5,1,-6,2)","d":1.19528},{"t":80.3271,"i":12.6941,"hkl":"(5,2,-7,1)","d":1.19528},{"t":80.3272,"i":6.3484,"hkl":"(5,2,-7,-3)","d":1.19528},{"t":80.3273,"i":6.3488,"hkl":"(5,3,-8,-1)","d":1.19528},{"t":80.3273,"i":6.3494,"hkl":"(5,3,-8,-2)","d":1.19527},{"t":80.5178,"i":5.6746,"hkl":"(2,0,-2,6)","d":1.19293},{"t":80.5185,"i":5.6689,"hkl":"(2,6,-8,0)","d":1.19292},{"t":80.519,"i":5.6682,"hkl":"(2,6,-8,-6)","d":1.19291},{"t":82.2423,"i":3.1546,"hkl":"(4,1,-5,4)","d":1.17223},{"t":82.2424,"i":3.1554,"hkl":"(4,-1,-3,5)","d":1.17223},{"t":82.2426,"i":3.1518,"hkl":"(4,4,-8,1)","d":1.17222},{"t":82.2429,"i":3.1585,"hkl":"(4,5,-9,-1)","d":1.17222},{"t":82.2429,"i":3.1523,"hkl":"(4,4,-8,-5)","d":1.17222},{"t":82.2431,"i":3.1581,"hkl":"(4,5,-9,-4)","d":1.17222},{"t":82.2761,"i":3.2504,"hkl":"(0,1,-1,6)","d":1.17183},{"t":82.2762,"i":3.2492,"hkl":"(0,1,-1,-7)","d":1.17183},{"t":82.2767,"i":3.2664,"hkl":"(0,6,-6,1)","d":1.17182},{"t":82.2772,"i":3.2582,"hkl":"(0,7,-7,-1)","d":1.17182},{"t":82.2774,"i":3.2736,"hkl":"(0,6,-6,-7)","d":1.17182},{"t":82.2776,"i":3.2666,"hkl":"(0,7,-7,-6)","d":1.17181},{"t":86.1369,"i":1.9551,"hkl":"(5,2,-7,2)","d":1.12894},{"t":86.1371,"i":1.9554,"hkl":"(5,2,-7,-4)","d":1.12894},{"t":86.1373,"i":1.9605,"hkl":"(5,4,-9,-2)","d":1.12893},{"t":86.878,"i":7.7965,"hkl":"(4,0,-4,5)","d":1.1212},{"t":86.8785,"i":7.7854,"hkl":"(4,5,-9,0)","d":1.1212},{"t":86.8788,"i":7.7742,"hkl":"(4,5,-9,-5)","d":1.1212},{"t":87.2922,"i":1.9245,"hkl":"(5,1,-6,3)","d":1.11695},{"t":87.2923,"i":1.9245,"hkl":"(5,1,-6,-4)","d":1.11695},{"t":87.2923,"i":1.923,"hkl":"(5,3,-8,1)","d":1.11695},{"t":87.2925,"i":1.9226,"hkl":"(5,3,-8,-4)","d":1.11694},{"t":87.2926,"i":1.9222,"hkl":"(5,4,-9,-1)","d":1.11694},{"t":87.2927,"i":1.9221,"hkl":"(5,4,-9,-3)","d":1.11694},{"t":88.0661,"i":1.6313,"hkl":"(0,4,-4,4)","d":1.10912},{"t":88.0667,"i":1.6309,"hkl":"(0,4,-4,-8)","d":1.10911},{"t":88.0677,"i":1.6301,"hkl":"(0,8,-8,-4)","d":1.10911},{"t":88.6345,"i":1.3549,"hkl":"(2,1,-3,6)","d":1.10347},{"t":88.6347,"i":1.3559,"hkl":"(2,-1,-1,7)","d":1.10347},{"t":88.6352,"i":1.3468,"hkl":"(2,6,-8,1)","d":1.10347},{"t":88.6356,"i":1.345,"hkl":"(2,7,-9,-1)","d":1.10346},{"t":88.6358,"i":1.3409,"hkl":"(2,6,-8,-7)","d":1.10346},{"t":88.636,"i":1.3381,"hkl":"(2,-7,5,6)","d":1.10346},{"t":89.6335,"i":1.4994,"hkl":"(3,3,-6,4)","d":1.09375},{"t":89.6336,"i":1.5032,"hkl":"(3,4,-7,3)","d":1.09375},{"t":89.6339,"i":1.4995,"hkl":"(3,3,-6,-7)","d":1.09375},{"t":89.6341,"i":1.5036,"hkl":"(3,4,-7,-7)","d":1.09374},{"t":89.6347,"i":1.5038,"hkl":"(3,7,-10,-3)","d":1.09374},{"t":89.6347,"i":1.5042,"hkl":"(3,7,-10,-4)","d":1.09374},{"t":89.6503,"i":2.5641,"hkl":"(1,4,-5,4)","d":1.09359},{"t":89.6509,"i":2.5643,"hkl":"(1,4,-5,-8)","d":1.09358},{"t":89.6518,"i":2.557,"hkl":"(1,8,-9,-4)","d":1.09357},{"t":89.7211,"i":3.8943,"hkl":"(6,0,-6,0)","d":1.09291}];
// 图例文案(中文站字面量;英文站模板传英文,见 en/page/detail.php)
var LBL_MATERIAL_PEAK = '材料衍射峰';
var initialRadiation = 'Cu Kα';
var canvas = document.getElementById('xrd-detail-canvas');
var note = document.getElementById('xrd-note');
var body = document.getElementById('xrd-peaks-body');
var cnt = document.getElementById('xrd-peaks-count');
var sel = document.getElementById('xrd-target');
var link = document.getElementById('xrd-direct-link');
var mpId = "mp-1105965";
function renderChart(ps, radiation) {
if (typeof XrdChart === 'undefined' || !canvas || !Array.isArray(ps)) return;
var m = 0;
ps.forEach(function (p) { if (p.t > m) m = p.t; });
var mt = Math.max(90, Math.ceil((m + 5) / 10) * 10);
XrdChart.render(canvas, { materialPeaks: ps, label: radiation, maxTheta: mt, materialPeakLabel: LBL_MATERIAL_PEAK });
}
function renderTable(ps) {
if (!body) return;
var rows = '';
ps.slice(0, 24).forEach(function (pk) {
var t = (pk.t != null) ? Number(pk.t).toFixed(2) : '';
var d = (pk.d != null) ? Number(pk.d).toFixed(4) : '';
var i = (pk.i != null) ? Number(pk.i).toFixed(1) : '';
var h = (pk.hkl != null) ? String(pk.hkl).replace(/[<>&]/g, '') : '';
rows += '
' + t + '
' + d + '
' + i + '
' + h + '
';
});
body.innerHTML = rows;
if (cnt) cnt.textContent = Math.min(ps.length, 24);
}
function updateLink(target) {
if (link) link.href = location.origin + '/api/v1/materials/' + encodeURIComponent(mpId) + '/xrd?format=raw&target=' + encodeURIComponent(target);
}
// 初始渲染(服务端已预取默认靶材的图谱)
renderChart(peaks, initialRadiation);
if (sel) updateLink(sel.value);
// 切换靶材:重新拉取该靶材的衍射图谱并刷新图表 / 表格 / 直接链接
if (sel) {
var xrdSeq = 0;
sel.addEventListener('change', function () {
var t = sel.value;
updateLink(t);
var my = ++xrdSeq;
// 先清空 loading 态,避免请求失败后按钮一直停在“切换中”
if (note) note.textContent = '正在加载 ' + t + ' 图谱…';
fetch('/api/v1/materials/' + encodeURIComponent(mpId) + '/xrd?target=' + encodeURIComponent(t))
.then(function (r) {
if (!r.ok) throw new Error('HTTP ' + r.status);
return r.json();
})
.then(function (res) {
// 竞态防护:快速切换靶材时,先发的请求可能后到,丢弃过期响应
if (my !== xrdSeq) return;
if (!res.success || !res.data || !Array.isArray(res.data.peaks) || !res.data.peaks.length) {
throw new Error(res.error || '该靶材暂无衍射数据');
}
var d = res.data;
if (note) note.textContent = '横轴为 2θ (°),纵轴为相对强度,' + d.radiation + ' , λ=' + d.wavelength + ' Å';
renderChart(d.peaks, d.radiation);
renderTable(d.peaks);
})
.catch(function (e) {
if (my !== xrdSeq) return;
// 恢复服务端预取的默认靶材视图,并明确提示失败原因
// (旧实现是空 catch,静默失败会让图表停留在上一个靶材的数据而用户毫不知情)
if (note) note.textContent = '切换靶材失败:' + (e && e.message ? e.message : '未知错误');
renderChart(peaks, initialRadiation);
renderTable(peaks);
});
});
}
})();
The crystal structure and related material properties of Er5Tl3 were obtained from the Materials Project database (MP-ID: mp-1105965, database version v2026.04.13).
文献引用
Horton, M.K., Huck, P., Yang, R.X. et al. Accelerated data-driven materials science with the Materials Project. Nat. Mater. 24, 1522–1532 (2025).
https://doi.org/10.1038/s41563-025-02272-0