{"product_id":"27-inch-caution-safety-cone","title":"27Inch Caution Safety Cone","description":"\u003cul class=\"List__list-container__c1545\"\u003e\n\u003cli\u003e\u003cspan\u003eLarge Sized Message Cones --- 11.3\" L x 11.3\" W x 27\" H inches message cones with heavy weight rubber base, stable structure and that is easily noticeable, can be stacked for easy storage and transport.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eTop Circular Hole Design --- Portable large-sized information cone with 8-PACK, you can use chains, crossbars, or other accessories to connect these warning signs cones together, forming a quick and effective temporary barrier.\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"responsive-table-wrap\"\u003e\n\u003ctable class=\"rt-table\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eStyle\u003c\/th\u003e\n\u003cth\u003eHeight\u003c\/th\u003e\n\u003cth\u003eBase Width\u003c\/th\u003e\n\u003cth\u003eBase Length\u003c\/th\u003e\n\u003cth\u003eWeight\u003c\/th\u003e\n\u003cth\u003eDrawing\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003eCaution Wet \/ Yellow Color\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e26 ³\/₈ Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e11 Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e11 Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e16.0 LBS\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"mobile-pdf-link\"\u003e\u003ca href=\"https:\/\/www.dropbox.com\/scl\/fi\/9o9i09xqdc1x0gp118rp7\/DH-FC-1-inch.pdf?rlkey=hx2aguk0kj0mjxnhx1ra7jfum\u0026amp;st=fyxwbtkk\u0026amp;raw=1\" target=\"_blank\"\u003e PDF \u003c\/a\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003eNO PARKING \/ WHITE COLOR\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e26 ³\/₈ Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e11 Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e11 Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e16.0 LBS\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"mobile-pdf-link\"\u003e\u003ca href=\"https:\/\/www.dropbox.com\/scl\/fi\/0cvtjb5ohu7uc6lhn66zi\/DH-FC-1-inch.pdf?rlkey=kklbeca4e7dtlbg79fghangz3\u0026amp;st=yhigw6ky\u0026amp;raw=1\" target=\"_blank\"\u003e PDF \u003c\/a\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003eREVISED PARKING \/ GREEN COLOR\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e26 ³\/₈ Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e11 Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e11 Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e16.0 LBS\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"mobile-pdf-link\"\u003e\u003ca href=\"https:\/\/www.dropbox.com\/scl\/fi\/7ut5s3exnml6xqgu4xlth\/DH-FC-1-inch.pdf?rlkey=ff9bolejy8tduiang9yfbzd88\u0026amp;st=ivrdhw4l\u0026amp;raw=1\" target=\"_blank\"\u003e PDF \u003c\/a\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003eDO NOT ENTER \/ ORANGE COLOR\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e26 ³\/₈ Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e11 Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e11 Inch\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"cell\"\u003e16.0 LBS\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"mobile-pdf-link\"\u003e\u003ca href=\"https:\/\/www.dropbox.com\/scl\/fi\/2g9oc4mfymbq2znz73g9w\/DH-FC-1-inch.pdf?rlkey=k13w01cnut9urunkvye1zc37e\u0026amp;st=m7s2qpjt\u0026amp;raw=1\" target=\"_blank\"\u003e PDF \u003c\/a\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cstyle\u003e\n.video-wrap {\n  display: flex;\n  gap: 24px;\n  flex-wrap: wrap;\n  align-items: flex-start;\n  font-family: Arial, sans-serif;\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n\/* ===== 主播放器 ===== *\/\n.video-player {\n  flex: 2;\n  min-width: 320px;\n  background: #000;\n  border-radius: 16px;\n  overflow: hidden;\n  box-shadow: 0 10px 30px rgba(0,0,0,0.25);\n  position: relative;\n}\n\n#player {\n  width: 100%;\n  height: 520px;\n}\n\n\/* ===== 控制按钮 ===== *\/\n.controls {\n  position: absolute;\n  bottom: 12px;\n  left: 12px;\n  display: flex;\n  gap: 10px;\n  z-index: 10;\n}\n\n.controls button {\n  background: rgba(0,0,0,0.6);\n  color: #fff;\n  border: 1px solid rgba(255,255,255,0.2);\n  padding: 8px 12px;\n  border-radius: 8px;\n  cursor: pointer;\n  font-size: 14px;\n}\n\n\/* ===== 视频列表 ===== *\/\n.video-list {\n  flex: 1;\n  min-width: 280px;\n  background: #111;\n  border-radius: 16px;\n  padding: 12px;\n\n  display: flex;\n  flex-direction: row;\n  overflow-x: auto;\n  gap: 10px;\n}\n\n.video-item {\n  flex: 0 0 auto;\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n  padding: 10px;\n  cursor: pointer;\n  border-radius: 12px;\n  transition: 0.25s;\n  background: #1c1c1c;\n  border: 1px solid transparent;\n  min-width: 160px;\n}\n\n.video-item:hover {\n  transform: translateY(-2px);\n  background: #2a2a2a;\n}\n\n.video-item.active {\n  border: 1px solid #ff3b3b;\n  background: #222;\n}\n\n.video-item img {\n  width: 100%;\n  height: 90px;\n  object-fit: cover;\n  border-radius: 8px;\n}\n\n.video-title {\n  font-size: 14px;\n  color: #fff;\n  line-height: 1.4;\n  text-align: center;\n}\n\n\/* =========================\n   📱 手机端优化\n========================= *\/\n@media (max-width: 768px) {\n\n  .video-wrap {\n    flex-direction: column;\n    gap: 10px;\n  }\n\n  .video-player {\n    width: 100vw;\n    margin-left: -16px;\n    border-radius: 0;\n  }\n\n  #player {\n    width: 100vw;\n    height: calc(100vw * 9 \/ 16);\n  }\n\n  .controls {\n    display: none;\n  }\n\n  \/* 手机端横向滑动列表，隐藏滚动条 *\/\n  .video-list {\n    flex-direction: row;\n    overflow-x: auto;\n    gap: 10px;\n    padding: 10px;\n    scrollbar-width: none;\n  }\n\n  .video-list::-webkit-scrollbar {\n    display: none;\n  }\n\n  .video-item {\n    min-width: 160px;\n  }\n\n  .video-item img {\n    height: 120px;\n  }\n\n  .video-title {\n    font-size: 13px;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"responsive-table-wrap\"\u003e\n\u003cdiv class=\"video-wrap\"\u003e\n\u003c!-- 主播放器 --\u003e\n\u003cdiv class=\"video-player\"\u003e\n\u003cdiv id=\"player\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"controls\"\u003e\n\u003cbutton id=\"prevBtn\"\u003e⟵ Prev\u003c\/button\u003e \u003cbutton id=\"nextBtn\"\u003eNext ⟶\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 视频列表 --\u003e\n\u003cdiv class=\"video-list\"\u003e\n\u003cdiv class=\"video-item active\"\u003e\n\u003cimg src=\"https:\/\/img.youtube.com\/vi\/q_xrawScM34\/hqdefault.jpg\" alt=\"Short Video 1\"\u003e\n\u003cdiv class=\"video-title\"\u003eShort Video 1\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"video-item\"\u003e\n\u003cimg src=\"https:\/\/img.youtube.com\/vi\/pDY3_euMqwU\/hqdefault.jpg\" alt=\"Short Video 2\"\u003e\n\u003cdiv class=\"video-title\"\u003eShort Video 2\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript src=\"https:\/\/www.youtube.com\/iframe_api\"\u003e\u003c\/script\u003e \u003cscript\u003e\n\nconst videos = [\n  \"q_xrawScM34\",\n  \"pDY3_euMqwU\"\n];\n\nlet player;\nlet currentIndex = 0;\nlet isReady = false;\n\n\n\/* ===== 初始化播放器 ===== *\/\nfunction onYouTubeIframeAPIReady() {\n\n  player = new YT.Player('player', {\n\n    videoId: videos[0],\n\n    playerVars: {\n\n      \/* 页面打开不自动播放 *\/\n      autoplay: 0,\n\n      \/* 显示 YouTube 控制栏 *\/\n      controls: 1,\n\n      rel: 0,\n\n      \/* 手机端网页内播放 *\/\n      playsinline: 1\n\n    },\n\n    events: {\n\n      onReady: function () {\n        isReady = true;\n      },\n\n      onStateChange: onPlayerStateChange\n\n    }\n\n  });\n\n}\n\n\n\/* ===== 视频播放结束后切换下一条 ===== *\/\nfunction onPlayerStateChange(event) {\n\n  if (event.data === YT.PlayerState.ENDED) {\n    nextVideo();\n  }\n\n}\n\n\n\/* ===== 点击缩略图播放 ===== *\/\nfunction playVideo(index) {\n\n  if (!player || !isReady) return;\n\n  if (isNaN(index)) return;\n\n  if (index \u003c 0 || index \u003e= videos.length) return;\n\n  currentIndex = index;\n\n  player.loadVideoById(\n    videos[index]\n  );\n\n  updateActive();\n\n}\n\n\n\/* ===== 下一条 ===== *\/\nfunction nextVideo() {\n\n  if (!player || !isReady) return;\n\n  currentIndex =\n    (currentIndex + 1) % videos.length;\n\n  player.loadVideoById(\n    videos[currentIndex]\n  );\n\n  updateActive();\n\n}\n\n\n\/* ===== 上一条 ===== *\/\nfunction prevVideo() {\n\n  if (!player || !isReady) return;\n\n  currentIndex =\n    (currentIndex - 1 + videos.length)\n    % videos.length;\n\n  player.loadVideoById(\n    videos[currentIndex]\n  );\n\n  updateActive();\n\n}\n\n\n\/* ===== 更新当前视频高亮 ===== *\/\nfunction updateActive() {\n\n  document\n    .querySelectorAll(\".video-item\")\n    .forEach(function (el, i) {\n\n      el.classList.toggle(\n        \"active\",\n        i === currentIndex\n      );\n\n    });\n\n}\n\n\n\/* ===== 页面加载完成 ===== *\/\ndocument.addEventListener(\n  \"DOMContentLoaded\",\n  function () {\n\n    document\n      .getElementById(\"nextBtn\")\n      .addEventListener(\n        \"click\",\n        nextVideo\n      );\n\n    document\n      .getElementById(\"prevBtn\")\n      .addEventListener(\n        \"click\",\n        prevVideo\n      );\n\n    document\n      .querySelectorAll(\".video-item\")\n      .forEach(function (item) {\n\n        item.addEventListener(\n          \"click\",\n          function () {\n\n            const index =\n              parseInt(\n                this.dataset.index,\n                10\n              );\n\n            playVideo(index);\n\n          }\n        );\n\n      });\n\n  }\n);\n\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OranLite","offers":[{"title":"Caution Wet \/ Yellow Color \/ 4PCS","offer_id":50377298903344,"sku":"DH-FC-1x4Y","price":54.74,"currency_code":"USD","in_stock":true},{"title":"Caution Wet \/ Yellow Color \/ 8PCS","offer_id":50377298936112,"sku":"DH-FC-1x8Y","price":75.18,"currency_code":"USD","in_stock":true},{"title":"NO PARKING \/ White Color \/ 4PCS","offer_id":50377298968880,"sku":"DH-FC-1x4W","price":54.74,"currency_code":"USD","in_stock":true},{"title":"NO PARKING \/ White Color \/ 8PCS","offer_id":50377299001648,"sku":"DH-FC-1x8W","price":75.18,"currency_code":"USD","in_stock":true},{"title":"REVISED PARKING \/ Green Color \/ 4PCS","offer_id":50377299034416,"sku":"DH-FC-1x4G","price":54.74,"currency_code":"USD","in_stock":true},{"title":"REVISED PARKING \/ Green Color \/ 8PCS","offer_id":50377299067184,"sku":"DH-FC-1x8G","price":75.18,"currency_code":"USD","in_stock":true},{"title":"DO NOT ENTER \/ Orange Color \/ 4PCS","offer_id":50377299099952,"sku":"DH-FC-1x4O","price":54.74,"currency_code":"USD","in_stock":true},{"title":"DO NOT ENTER \/ Orange Color \/ 8PCS","offer_id":50377299132720,"sku":"DH-FC-1x8O","price":75.18,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0839\/3690\/3472\/files\/DH-FC-1-01.jpg?v=1764053536","url":"https:\/\/www.oranlite.com\/products\/27-inch-caution-safety-cone","provider":"OranLite","version":"1.0","type":"link"}