如何在-script-标签上获取自定义参数的值?
鍓嶆鏃堕棿寮€鍙戜簡涓€涓皬鎻掍欢锛屽姛鑳藉緢绠€鍗曪紝鑴氭湰瀵煎叆鍚庝細鑷姩鎵ц涓€浜涢€昏緫锛屾墍浠ュ彂甯冩椂浠IFE鏂瑰紡鎵撳寘鎴恓s鍖呫€傚湪椤圭洰涓闂殑鏃跺€欙紝鍙互鐩存帴閫氳繃script鏍囩寮曞叆锛屽儚杩欐牱锛?scriptsrc="https://xxxcdn.com/fehub-plugin.js">浣嗘槸鍦ㄥ悗缁殑浣跨敤涓彃浠讹紝鍙戠幇鏈夊嚑涓弬鏁帮紝濡傛灉鑳芥敮鎸佽嚜瀹氫箟锛岀敤璧锋潵浼氭洿鏂逛究銆傞偅鎴戜滑灏卞崌绾т竴涓嬭瀹冩敮鎸佽嚜瀹氫箟鍚涓轰簡閬垮厤鏀瑰姩杩囧锛岄鍏堟兂鍒扮殑鏄€氳繃script鏍囩鐨勫睘鎬ф潵浼犻€掑弬鏁帮紝鍍忚繖鏍凤細濡備綍鑾峰彇鍙傛暟鐨勫€硷紵濂戒簡锛屽弬鏁拌缃ソ浜嗭紝浣嗘槸杩欎釜鍙傛暟鎬庝箞鑾峰彇鍛紵涓€鑸潵璇达紝濡傛灉鎴戜滑鎯宠幏鍙栦竴涓厓绱犱笂鐨勬煇涓睘鎬э紝鎴戜滑鍙互鍏堥€氳繃querySelector閫夋嫨鍣ㄦ壘鍒板搴旂殑鍏冪礌锛岀劧鍚庨€氳繃getAttribute鏂规硶鑾峰彇锛屽儚杩欐牱锛?!--HTML-->浣犲ソ馃憢馃徎~
constdemoEle=document.querySelector("#demo");console.log(demoEle.getAttribute("name"));//fehub鎵€浠ョ敤鎴峰湪璁块棶杩欎釜鑴氭湰鏃跺彲浠ヨ缃竴涓害瀹氱殑鍥哄畾id锛岀劧鍚庡湪鑴氭湰涓€氳繃querySelector鑾峰彇script鏍囩锛屽儚杩欐牱锛?!--HTML-->constscript=document.querySelector("#fehub-plugin");console.log(script);//console.log(script.getAttribute("param1"));//fehubconsole.log(script.getAttribute("param2"));//18浣嗘槸杩欎釜鏂规硶涓嶆槸寰堝彲鎺э紝濡傛灉涓嶈缃彃浠剁殑id锛岄偅涔堝氨杈句笉鍒版兂瑕佺殑鏁堟灉NativeAPI涓嶈繃濂藉湪鏂囨。涓婃湁涓€涓猚urrentScript瀵硅薄锛屼唬琛ㄥ綋鍓嶈繍琛岃剼鏈殑script鍏冪礌锛屽氨鏄娇鐢ㄨ捣鏉ラ潪甯哥畝鍗曪紝鍍忚繖鏍凤細constscript=document.currentScript;console.log(script);//console.log(script.getAttribute("param1"));//fehubconsole.log(script.getAttribute("param2"));//18鐜板湪濂藉浜嗭紝鍙互鐩存帴浣跨敤鍘熺敓API锛屽吋瀹规€т篃寰堝ソ锛氫絾闇€瑕佹敞鎰忕殑鏄紝濡傛灉浠ユā鍧楃殑褰㈠紡鍔犺浇JavaScript锛堝嵆璁剧疆type="module"灞炴€э級锛屽垯currentScript灞炴€ф棤鏁堛€傝繖绉嶆儏鍐典笅锛屽彲浠ラ€氳繃import.meta鍜宷uerySelector鐨剈rl灞炴€ц幏鍙栧綋鍓峴cript鏍囩鍏冪礌锛屽儚杩欐牱锛?!--HTML-->constscript=document.querySelector(`script[src="${import.meta.url}"]`);console.log(script);//瀹夋叞銆俵og(script.getAttribute("param1"));//fehubconsole.log(script.getAttribute("param2"));//18鍙﹀锛屽鏋滄兂閫氳繃娣诲姞鑷畾涔夊睘鎬ф潵浼犻€掑弬鏁帮紝鎺ㄨ崘浣跨敤data-*璇硶璁剧疆鍙傛暟锛岀劧鍚庨€氳繃dataset鍙栧€笺€傚彲浠ラ伩鍏嶅拰鐜版湁灞炴€у啿绐侊紝鏇寸鍚堝畼鏂规爣鍑嗭紝鍍忚繖鏍凤細constscript=document.currentScript;console.log(script);//console.log(script.dataset.param1);//fehubconsole.log(script.dataset.param2);//18鍏虫敞鎴戯紝浠婂ぉ鍒嗕韩鐨勫唴瀹瑰氨杩欎簺浜唦鍏虫敞鎴戯紝姣忓ぉ瀛︿範涓€涓湁瓒g殑灏忕煡璇嗮煒?/p>