function setCookie(name, value) //cookies設置 { var argv = setCookie.arguments; var argc = setCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; if (expires != null) { var LargeExpDate = new Date(); LargeExpDate.setTime(LargeExpDate.getTime() + (expires * 1000 * 3600 * 24)); } document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + LargeExpDate.toGMTString())); } function getCookie(Name) //cookies讀取 { var search = Name + "=" //console.log(search); if (document.cookie.length > 0) { offset = document.cookie.indexOf(search) if (offset != -1) { end = document.cookie.indexOf(";", offset) if (end == -1) end = document.cookie.length //console.log(unescape(document.cookie.substring(offset+search.length, end))); return unescape(document.cookie.substring(offset+search.length, end)) } else return "" } } function getParameter(paramName) { var searchString = window.location.search.substring(1), i, val, params = searchString.split("&"); for (i=0;i { var input = document.createElement("input"); input.setAttribute("type", "hidden"); input.setAttribute("name", "visitcode"); input.setAttribute("id", "visitcode"); //append to form element that you want . $("form").each(function (i) { $(this).append(input); }); var scripts = document.getElementsByTagName('script'); var p = { kindheadid:0, }; // 紀錄 visit API 所在的主機與路徑前綴,避免使用字串截斷時破壞 https。 var server = ""; for (var i = 0; i < scripts.length; i++) { // 直接讀取 script 的 src 屬性,避免 outerHTML 字串格式差異造成解析錯誤。 var src = scripts[i].getAttribute('src'); // 略過沒有 src 的 inline script。 if (src == null) { // 目前 script 沒有外部網址時不需要後續處理。 continue; } // 還原 Blade 可能輸出的 HTML entity,確保查詢字串可正確拆解。 src = src.replace(/&/g, "&"); // 只處理載入 visit 腳本的那個 script 標籤。 if (src.indexOf('visit')>-1){ // console.log(src); // 以瀏覽器原生 URL 物件解析完整網址,保留正確的協定與主機。 var src_url = new URL(src, window.location.href); // 取出 api 前面的基底路徑,後續組成 visitajax 呼叫網址。 server = src_url.href.substring(0, src_url.href.lastIndexOf('api/')); // 直接從 search 取得查詢參數字串,避免手動切字串出錯。 var pa = src_url.search.substring(1).split("&"); for(var j=0; j