{"id":2436,"date":"2020-03-20T09:28:58","date_gmt":"2020-03-20T01:28:58","guid":{"rendered":"http:\/\/www.yuguoxy.com\/geekhome\/?p=2436"},"modified":"2020-04-21T14:59:13","modified_gmt":"2020-04-21T06:59:13","slug":"javascript%e5%b7%a5%e5%85%b7%e5%87%bd%e6%95%b0%e5%a4%a7%e5%85%a8%e4%ba%8c","status":"publish","type":"post","link":"https:\/\/ai.zhousir.top\/?p=2436","title":{"rendered":"JavaScript\u5de5\u5177\u51fd\u6570\u5927\u5168(\u4e8c)"},"content":{"rendered":"<p>\u83b7\u53d6cookie\u503c<\/p>\n<p>[java]function getCookie(name) {<br \/>\n  var arr = document.cookie.match(new RegExp(&quot;(^| )&quot; + name + &quot;=([^;]*)(;|$)&quot;));<br \/>\n  if (arr != null) return unescape(arr[2]);<br \/>\n  return null;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u5f97URL\u4e2dGET\u53c2\u6570\u503c<\/p>\n<p>[java]\/\/ \u7528\u6cd5\uff1a\u5982\u679c\u5730\u5740\u662f test.htm?t1=1&amp;t2=2&amp;t3=3, \u90a3\u4e48\u80fd\u53d6\u5f97\uff1aGET[&quot;t1&quot;], GET[&quot;t2&quot;], GET[&quot;t3&quot;]<br \/>\nfunction getGet() {<br \/>\n  querystr = window.location.href.split(&quot;?&quot;);<br \/>\n  if (querystr[1]) {<br \/>\n    GETs = querystr[1].split(&quot;&amp;&quot;);<br \/>\n    GET = [];<br \/>\n    for (i = 0; i &lt; GETs.length; i++) {<br \/>\n      tmp_arr = GETs.split(&quot;=&quot;);<br \/>\n      key = tmp_arr[0];<br \/>\n      GET[key] = tmp_arr[1];<br \/>\n    }<br \/>\n  }<br \/>\n  return querystr[1];<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u79fb\u52a8\u8bbe\u5907\u521d\u59cb\u5316\u5927\u5c0f<\/p>\n<p>[java]function getInitZoom() {<br \/>\n  if (!this._initZoom) {<br \/>\n    var screenWidth = Math.min(screen.height, screen.width);<br \/>\n    if (this.isAndroidMobileDevice() &amp;&amp; !this.isNewChromeOnAndroid()) {<br \/>\n      screenWidth = screenWidth \/ window.devicePixelRatio;<br \/>\n    }<br \/>\n    this._initZoom = screenWidth \/ document.body.offsetWidth;<br \/>\n  }<br \/>\n  return this._initZoom;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u9875\u9762\u9ad8\u5ea6<\/p>\n<p>[java]function getPageHeight() {<br \/>\n  var g = document,<br \/>\n    a = g.body,<br \/>\n    f = g.documentElement,<br \/>\n    d = g.compatMode == &quot;BackCompat&quot; ? a : g.documentElement;<br \/>\n  return Math.max(f.scrollHeight, a.scrollHeight, d.clientHeight);<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u9875\u9762scrollLeft<\/p>\n<p>[java]function getPageScrollLeft() {<br \/>\n  var a = document;<br \/>\n  return a.documentElement.scrollLeft || a.body.scrollLeft;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u9875\u9762scrollTop<\/p>\n<p>[java]function getPageScrollTop() {<br \/>\n  var a = document;<br \/>\n  return a.documentElement.scrollTop || a.body.scrollTop;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u9875\u9762\u53ef\u89c6\u9ad8\u5ea6<\/p>\n<p>[java]function getPageViewHeight() {<br \/>\n  var d = document,<br \/>\n    a = d.compatMode == &quot;BackCompat&quot; ? d.body : d.documentElement;<br \/>\n  return a.clientHeight;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u9875\u9762\u53ef\u89c6\u5bbd\u5ea6<\/p>\n<p>[java]function getPageViewWidth() {<br \/>\n  var d = document,<br \/>\n    a = d.compatMode == &quot;BackCompat&quot; ? d.body : d.documentElement;<br \/>\n  return a.clientWidth;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u9875\u9762\u5bbd\u5ea6<\/p>\n<p>[java]function getPageWidth() {<br \/>\n  var g = document,<br \/>\n    a = g.body,<br \/>\n    f = g.documentElement,<br \/>\n    d = g.compatMode == &quot;BackCompat&quot; ? a : g.documentElement;<br \/>\n  return Math.max(f.scrollWidth, a.scrollWidth, d.clientWidth);<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u79fb\u52a8\u8bbe\u5907\u5c4f\u5e55\u5bbd\u5ea6<\/p>\n<p>[java]function getScreenWidth() {<br \/>\n  var smallerSide = Math.min(screen.width, screen.height);<br \/>\n  var fixViewPortsExperiment =<br \/>\n    rendererModel.runningExperiments.FixViewport ||<br \/>\n    rendererModel.runningExperiments.fixviewport;<br \/>\n  var fixViewPortsExperimentRunning =<br \/>\n    fixViewPortsExperiment &amp;&amp; fixViewPortsExperiment.toLowerCase() === &quot;new&quot;;<br \/>\n  if (fixViewPortsExperiment) {<br \/>\n    if (this.isAndroidMobileDevice() &amp;&amp; !this.isNewChromeOnAndroid()) {<br \/>\n      smallerSide = smallerSide \/ window.devicePixelRatio;<br \/>\n    }<br \/>\n  }<br \/>\n  return smallerSide;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u7f51\u9875\u88ab\u5377\u53bb\u7684\u4f4d\u7f6e<\/p>\n<p>[java]function getScrollXY() {<br \/>\n  return document.body.scrollTop<br \/>\n    ? {<br \/>\n        x: document.body.scrollLeft,<br \/>\n        y: document.body.scrollTop<br \/>\n      }<br \/>\n    : {<br \/>\n        x: document.documentElement.scrollLeft,<br \/>\n        y: document.documentElement.scrollTop<br \/>\n      };<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6URL\u4e0a\u7684\u53c2\u6570<\/p>\n<p>[java]\/\/ \u83b7\u53d6URL\u4e2d\u7684\u67d0\u53c2\u6570\u503c,\u4e0d\u533a\u5206\u5927\u5c0f\u5199<br \/>\n\/\/ \u83b7\u53d6URL\u4e2d\u7684\u67d0\u53c2\u6570\u503c,\u4e0d\u533a\u5206\u5927\u5c0f\u5199,<br \/>\n\/\/ \u9ed8\u8ba4\u662f\u53d6&#8217;hash&#8217;\u91cc\u7684\u53c2\u6570\uff0c<br \/>\n\/\/ \u5982\u679c\u4f20\u5176\u4ed6\u53c2\u6570\u652f\u6301\u53d6\u2018search\u2019\u4e2d\u7684\u53c2\u6570<br \/>\n\/\/ @param {String} name \u53c2\u6570\u540d\u79f0<br \/>\nexport function getUrlParam(name, type = &quot;hash&quot;) {<br \/>\n  let newName = name,<br \/>\n    reg = new RegExp(&quot;(^|&amp;)&quot; + newName + &quot;=([^&amp;]*)(&amp;|$)&quot;, &quot;i&quot;),<br \/>\n    paramHash = window.location.hash.split(&quot;?&quot;)[1] || &quot;&quot;,<br \/>\n    paramSearch = window.location.search.split(&quot;?&quot;)[1] || &quot;&quot;,<br \/>\n    param;<\/p>\n<p>  type === &quot;hash&quot; ? (param = paramHash) : (param = paramSearch);<\/p>\n<p>  let result = param.match(reg);<\/p>\n<p>  if (result != null) {<br \/>\n    return result[2].split(&quot;\/&quot;)[0];<br \/>\n  }<br \/>\n  return null;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u68c0\u9a8cURL\u94fe\u63a5\u662f\u5426\u6709\u6548<\/p>\n<p>[java]function getUrlState(URL) {<br \/>\n  var xmlhttp = new ActiveXObject(&quot;microsoft.xmlhttp&quot;);<br \/>\n  xmlhttp.Open(&quot;GET&quot;, URL, false);<br \/>\n  try {<br \/>\n    xmlhttp.Send();<br \/>\n  } catch (e) {<br \/>\n  } finally {<br \/>\n    var result = xmlhttp.responseText;<br \/>\n    if (result) {<br \/>\n      if (xmlhttp.Status == 200) {<br \/>\n        return true;<br \/>\n      } else {<br \/>\n        return false;<br \/>\n      }<br \/>\n    } else {<br \/>\n      return false;<br \/>\n    }<br \/>\n  }<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u7a97\u4f53\u53ef\u89c1\u8303\u56f4\u7684\u5bbd\u4e0e\u9ad8<\/p>\n<p>[java]function getViewSize() {<br \/>\n  var de = document.documentElement;<br \/>\n  var db = document.body;<br \/>\n  var viewW = de.clientWidth == 0 ? db.clientWidth : de.clientWidth;<br \/>\n  var viewH = de.clientHeight == 0 ? db.clientHeight : de.clientHeight;<br \/>\n  return Array(viewW, viewH);<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u83b7\u53d6\u79fb\u52a8\u8bbe\u5907\u6700\u5927\u5316\u5927\u5c0f<\/p>\n<p>[java]function getZoom() {<br \/>\n  var screenWidth =<br \/>\n    Math.abs(window.orientation) === 90<br \/>\n      ? Math.max(screen.height, screen.width)<br \/>\n      : Math.min(screen.height, screen.width);<br \/>\n  if (this.isAndroidMobileDevice() &amp;&amp; !this.isNewChromeOnAndroid()) {<br \/>\n    screenWidth = screenWidth \/ window.devicePixelRatio;<br \/>\n  }<br \/>\n  var FixViewPortsExperiment =<br \/>\n    rendererModel.runningExperiments.FixViewport ||<br \/>\n    rendererModel.runningExperiments.fixviewport;<br \/>\n  var FixViewPortsExperimentRunning =<br \/>\n    FixViewPortsExperiment &amp;&amp;<br \/>\n    (FixViewPortsExperiment === &quot;New&quot; || FixViewPortsExperiment === &quot;new&quot;);<br \/>\n  if (FixViewPortsExperimentRunning) {<br \/>\n    return screenWidth \/ window.innerWidth;<br \/>\n  } else {<br \/>\n    return screenWidth \/ document.body.offsetWidth;<br \/>\n  }<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u662f\u5426\u5b89\u5353\u79fb\u52a8\u8bbe\u5907\u8bbf\u95ee<\/p>\n<p>[java]function isAndroidMobileDevice() {<br \/>\n  return \/android\/i.test(navigator.userAgent.toLowerCase());<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u662f\u5426\u82f9\u679c\u79fb\u52a8\u8bbe\u5907\u8bbf\u95ee<\/p>\n<p>[java]function isAppleMobileDevice() {<br \/>\n  return \/iphone|ipod|ipad|Macintosh\/i.test(navigator.userAgent.toLowerCase());<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u662f\u5426\u4e3a\u6570\u5b57\u7c7b\u578b<\/p>\n<p>[java]function isDigit(value) {<br \/>\n  var patrn = \/^[0-9]*$\/;<br \/>\n  if (patrn.exec(value) == null || value == &quot;&quot;) {<br \/>\n    return false;<br \/>\n  } else {<br \/>\n    return true;<br \/>\n  }<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u662f\u5426\u662f\u67d0\u7c7b\u624b\u673a\u578b\u53f7<\/p>\n<p>[java]\/\/ \u7528devicePixelRatio\u548c\u5206\u8fa8\u7387\u5224\u65ad<br \/>\nconst isIphonex = () =&gt; {<br \/>\n  \/\/ X XS, XS Max, XR<br \/>\n  const xSeriesConfig = [<br \/>\n    {<br \/>\n      devicePixelRatio: 3,<br \/>\n      width: 375,<br \/>\n      height: 812<br \/>\n    },<br \/>\n    {<br \/>\n      devicePixelRatio: 3,<br \/>\n      width: 414,<br \/>\n      height: 896<br \/>\n    },<br \/>\n    {<br \/>\n      devicePixelRatio: 2,<br \/>\n      width: 414,<br \/>\n      height: 896<br \/>\n    }<br \/>\n  ];<br \/>\n  \/\/ h5<br \/>\n  if (typeof window !== &quot;undefined&quot; &amp;&amp; window) {<br \/>\n    const isIOS = \/iphone\/gi.test(window.navigator.userAgent);<br \/>\n    if (!isIOS) return false;<br \/>\n    const { devicePixelRatio, screen } = window;<br \/>\n    const { width, height } = screen;<br \/>\n    return xSeriesConfig.some(<br \/>\n      item =&gt;<br \/>\n        item.devicePixelRatio === devicePixelRatio &amp;&amp;<br \/>\n        item.width === width &amp;&amp;<br \/>\n        item.height === height<br \/>\n    );<br \/>\n  }<br \/>\n  return false;<br \/>\n};<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u662f\u5426\u79fb\u52a8\u8bbe\u5907<\/p>\n<p>[java]function isMobile() {<br \/>\n  if (typeof this._isMobile === &quot;boolean&quot;) {<br \/>\n    return this._isMobile;<br \/>\n  }<br \/>\n  var screenWidth = this.getScreenWidth();<br \/>\n  var fixViewPortsExperiment =<br \/>\n    rendererModel.runningExperiments.FixViewport ||<br \/>\n    rendererModel.runningExperiments.fixviewport;<br \/>\n  var fixViewPortsExperimentRunning =<br \/>\n    fixViewPortsExperiment &amp;&amp; fixViewPortsExperiment.toLowerCase() === &quot;new&quot;;<br \/>\n  if (!fixViewPortsExperiment) {<br \/>\n    if (!this.isAppleMobileDevice()) {<br \/>\n      screenWidth = screenWidth \/ window.devicePixelRatio;<br \/>\n    }<br \/>\n  }<br \/>\n  var isMobileScreenSize = screenWidth &lt; 600;<br \/>\n  var isMobileUserAgent = false;<br \/>\n  this._isMobile = isMobileScreenSize &amp;&amp; this.isTouchScreen();<br \/>\n  return this._isMobile;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u5417\u662f\u5426\u624b\u673a\u53f7\u7801<\/p>\n<p>[java]function isMobileNumber(e) {<br \/>\n  var i =<br \/>\n      &quot;134,135,136,137,138,139,150,151,152,157,158,159,187,188,147,182,183,184,178&quot;,<br \/>\n    n = &quot;130,131,132,155,156,185,186,145,176&quot;,<br \/>\n    a = &quot;133,153,180,181,189,177,173,170&quot;,<br \/>\n    o = e || &quot;&quot;,<br \/>\n    r = o.substring(0, 3),<br \/>\n    d = o.substring(0, 4),<br \/>\n    s =<br \/>\n      !!\/^1\\d{10}$\/.test(o) &amp;&amp;<br \/>\n      (n.indexOf(r) &gt;= 0<br \/>\n        ? &quot;\u8054\u901a&quot;<br \/>\n        : a.indexOf(r) &gt;= 0<br \/>\n        ? &quot;\u7535\u4fe1&quot;<br \/>\n        : &quot;1349&quot; == d<br \/>\n        ? &quot;\u7535\u4fe1&quot;<br \/>\n        : i.indexOf(r) &gt;= 0<br \/>\n        ? &quot;\u79fb\u52a8&quot;<br \/>\n        : &quot;\u672a\u77e5&quot;);<br \/>\n  return s;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u662f\u5426\u662f\u79fb\u52a8\u8bbe\u5907\u8bbf\u95ee<\/p>\n<p>[java]function isMobileUserAgent() {<br \/>\n  return \/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile\/i.test(<br \/>\n    window.navigator.userAgent.toLowerCase()<br \/>\n  );<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u9f20\u6807\u662f\u5426\u79fb\u51fa\u4e8b\u4ef6<\/p>\n<p>[java]function isMouseOut(e, handler) {<br \/>\n  if (e.type !== &quot;mouseout&quot;) {<br \/>\n    return false;<br \/>\n  }<br \/>\n  var reltg = e.relatedTarget<br \/>\n    ? e.relatedTarget<br \/>\n    : e.type === &quot;mouseout&quot;<br \/>\n    ? e.toElement<br \/>\n    : e.fromElement;<br \/>\n  while (reltg &amp;&amp; reltg !== handler) {<br \/>\n    reltg = reltg.parentNode;<br \/>\n  }<br \/>\n  return reltg !== handler;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u662f\u5426Touch\u5c4f\u5e55<\/p>\n<p>[java]function isTouchScreen() {<br \/>\n  return (<br \/>\n    &quot;ontouchstart&quot; in window ||<br \/>\n    (window.DocumentTouch &amp;&amp; document instanceof DocumentTouch)<br \/>\n  );<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u662f\u5426\u4e3a\u7f51\u5740<\/p>\n<p>[java]function isURL(strUrl) {<br \/>\n  var regular = \/^\\b(((https?|ftp):\\\/\\\/)?[-a-z0-9]+(\\.[-a-z0-9]+)*\\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|asia|coop|aero|[a-z][a-z]|((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]\\d)|\\d))\\b(\\\/[-a-z0-9_:\\@&amp;?=+,.!\\\/~%\\$]*)?)$\/i;<br \/>\n  if (regular.test(strUrl)) {<br \/>\n    return true;<br \/>\n  } else {<br \/>\n    return false;<br \/>\n  }<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u662f\u5426\u6253\u5f00\u89c6\u7a97<\/p>\n<p>[java]function isViewportOpen() {<br \/>\n  return !!document.getElementById(&quot;wixMobileViewport&quot;);<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u52a0\u8f7d\u6837\u5f0f\u6587\u4ef6<\/p>\n<p>[java]function loadStyle(url) {<br \/>\n  try {<br \/>\n    document.createStyleSheet(url);<br \/>\n  } catch (e) {<br \/>\n    var cssLink = document.createElement(&quot;link&quot;);<br \/>\n    cssLink.rel = &quot;stylesheet&quot;;<br \/>\n    cssLink.type = &quot;text\/css&quot;;<br \/>\n    cssLink.href = url;<br \/>\n    var head = document.getElementsByTagName(&quot;head&quot;)[0];<br \/>\n    head.appendChild(cssLink);<br \/>\n  }<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u66ff\u6362\u5730\u5740\u680f<\/p>\n<p>[java]function locationReplace(url) {<br \/>\n  if (history.replaceState) {<br \/>\n    history.replaceState(null, document.title, url);<br \/>\n    history.go(0);<br \/>\n  } else {<br \/>\n    location.replace(url);<br \/>\n  }<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u89e3\u51b3offsetX\u517c\u5bb9\u6027\u95ee\u9898<\/p>\n<p>[java]\/\/ \u9488\u5bf9\u706b\u72d0\u4e0d\u652f\u6301offsetX\/Y<br \/>\nfunction getOffset(e) {<br \/>\n  var target = e.target, \/\/ \u5f53\u524d\u89e6\u53d1\u7684\u76ee\u6807\u5bf9\u8c61<br \/>\n    eventCoord,<br \/>\n    pageCoord,<br \/>\n    offsetCoord;<\/p>\n<p>  \/\/ \u8ba1\u7b97\u5f53\u524d\u89e6\u53d1\u5143\u7d20\u5230\u6587\u6863\u7684\u8ddd\u79bb<br \/>\n  pageCoord = getPageCoord(target);<\/p>\n<p>  \/\/ \u8ba1\u7b97\u5149\u6807\u5230\u6587\u6863\u7684\u8ddd\u79bb<br \/>\n  eventCoord = {<br \/>\n    X: window.pageXOffset + e.clientX,<br \/>\n    Y: window.pageYOffset + e.clientY<br \/>\n  };<\/p>\n<p>  \/\/ \u76f8\u51cf\u83b7\u53d6\u5149\u6807\u5230\u7b2c\u4e00\u4e2a\u5b9a\u4f4d\u7684\u7236\u5143\u7d20\u7684\u5750\u6807<br \/>\n  offsetCoord = {<br \/>\n    X: eventCoord.X &#8211; pageCoord.X,<br \/>\n    Y: eventCoord.Y &#8211; pageCoord.Y<br \/>\n  };<br \/>\n  return offsetCoord;<br \/>\n}<\/p>\n<p>function getPageCoord(element) {<br \/>\n  var coord = { X: 0, Y: 0 };<br \/>\n  \/\/ \u8ba1\u7b97\u4ece\u5f53\u524d\u89e6\u53d1\u5143\u7d20\u5230\u6839\u8282\u70b9\u4e3a\u6b62\uff0c<br \/>\n  \/\/ \u5404\u7ea7 offsetParent \u5143\u7d20\u7684 offsetLeft \u6216 offsetTop \u503c\u4e4b\u548c<br \/>\n  while (element) {<br \/>\n    coord.X += element.offsetLeft;<br \/>\n    coord.Y += element.offsetTop;<br \/>\n    element = element.offsetParent;<br \/>\n  }<br \/>\n  return coord;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u6253\u5f00\u4e00\u4e2a\u7a97\u4f53\u901a\u7528\u65b9\u6cd5<\/p>\n<p>[java]function openWindow(url, windowName, width, height) {<br \/>\n  var x = parseInt(screen.width \/ 2.0) &#8211; width \/ 2.0;<br \/>\n  var y = parseInt(screen.height \/ 2.0) &#8211; height \/ 2.0;<br \/>\n  var isMSIE = navigator.appName == &quot;Microsoft Internet Explorer&quot;;<br \/>\n  if (isMSIE) {<br \/>\n    var p = &quot;resizable=1,location=no,scrollbars=no,width=&quot;;<br \/>\n    p = p + width;<br \/>\n    p = p + &quot;,height=&quot;;<br \/>\n    p = p + height;<br \/>\n    p = p + &quot;,left=&quot;;<br \/>\n    p = p + x;<br \/>\n    p = p + &quot;,top=&quot;;<br \/>\n    p = p + y;<br \/>\n    retval = window.open(url, windowName, p);<br \/>\n  } else {<br \/>\n    var win = window.open(<br \/>\n      url,<br \/>\n      &quot;ZyiisPopup&quot;,<br \/>\n      &quot;top=&quot; +<br \/>\n        y +<br \/>\n        &quot;,left=&quot; +<br \/>\n        x +<br \/>\n        &quot;,scrollbars=&quot; +<br \/>\n        scrollbars +<br \/>\n        &quot;,dialog=yes,modal=yes,width=&quot; +<br \/>\n        width +<br \/>\n        &quot;,height=&quot; +<br \/>\n        height +<br \/>\n        &quot;,resizable=no&quot;<br \/>\n    );<br \/>\n    eval(&quot;try { win.resizeTo(width, height); } catch(e) { }&quot;);<br \/>\n    win.focus();<br \/>\n  }<br \/>\n  }<br \/>\n[\/java]<\/p>\n<p>\u5c06\u952e\u503c\u5bf9\u62fc\u63a5\u6210URL\u5e26\u53c2\u6570<\/p>\n<p>[java]export default const fnParams2Url = obj=&gt; {<br \/>\n      let aUrl = []<br \/>\n      let fnAdd = function(key, value) {<br \/>\n        return key + &#8216;=&#8217; + value<br \/>\n      }<br \/>\n      for (var k in obj) {<br \/>\n        aUrl.push(fnAdd(k, obj[k]))<br \/>\n      }<br \/>\n      return encodeURIComponent(aUrl.join(&#8216;&amp;&#8217;))<br \/>\n }<br \/>\n[\/java]<\/p>\n<p>\u53bb\u6389url\u524d\u7f00<\/p>\n<p>[java]function removeUrlPrefix(a) {<br \/>\n  a = a<br \/>\n    .replace(\/\uff1a\/g, &quot;:&quot;)<br \/>\n    .replace(\/\uff0e\/g, &quot;.&quot;)<br \/>\n    .replace(\/\uff0f\/g, &quot;\/&quot;);<br \/>\n  while (<br \/>\n    trim(a)<br \/>\n      .toLowerCase()<br \/>\n      .indexOf(&quot;http:\/\/&quot;) == 0<br \/>\n  ) {<br \/>\n    a = trim(a.replace(\/http:\\\/\\\/\/i, &quot;&quot;));<br \/>\n  }<br \/>\n  return a;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u66ff\u6362\u5168\u90e8<\/p>\n<p>[java]String.prototype.replaceAll = function(s1, s2) {<br \/>\n  return this.replace(new RegExp(s1, &quot;gm&quot;), s2);<br \/>\n};<\/p>\n<p>resize\u7684\u64cd\u4f5c<br \/>\n(function() {<br \/>\n  var fn = function() {<br \/>\n    var w = document.documentElement<br \/>\n        ? document.documentElement.clientWidth<br \/>\n        : document.body.clientWidth,<br \/>\n      r = 1255,<br \/>\n      b = Element.extend(document.body),<br \/>\n      classname = b.className;<br \/>\n    if (w &lt; r) {<br \/>\n      \/\/\u5f53\u7a97\u4f53\u7684\u5bbd\u5ea6\u5c0f\u4e8e1255\u7684\u65f6\u5019\u6267\u884c\u76f8\u5e94\u7684\u64cd\u4f5c<br \/>\n    } else {<br \/>\n      \/\/\u5f53\u7a97\u4f53\u7684\u5bbd\u5ea6\u5927\u4e8e1255\u7684\u65f6\u5019\u6267\u884c\u76f8\u5e94\u7684\u64cd\u4f5c<br \/>\n    }<br \/>\n  };<br \/>\n  if (window.addEventListener) {<br \/>\n    window.addEventListener(&quot;resize&quot;, function() {<br \/>\n      fn();<br \/>\n    });<br \/>\n  } else if (window.attachEvent) {<br \/>\n    window.attachEvent(&quot;onresize&quot;, function() {<br \/>\n      fn();<br \/>\n    });<br \/>\n  }<br \/>\n  fn();<br \/>\n})();<br \/>\n[\/java]<\/p>\n<p>\u6eda\u52a8\u5230\u9876\u90e8<\/p>\n<p>[java]\/\/ \u4f7f\u7528document.documentElement.scrollTop \u6216 document.body.scrollTop \u83b7\u53d6\u5230\u9876\u90e8\u7684\u8ddd\u79bb\uff0c\u4ece\u9876\u90e8<br \/>\n\/\/ \u6eda\u52a8\u4e00\u5c0f\u90e8\u5206\u8ddd\u79bb\u3002\u4f7f\u7528window.requestAnimationFrame()\u6765\u6eda\u52a8\u3002<br \/>\n\/\/ @example<br \/>\n\/\/ scrollToTop();<br \/>\nfunction scrollToTop() {<br \/>\n  var c = document.documentElement.scrollTop || document.body.scrollTop;<\/p>\n<p>  if (c &gt; 0) {<br \/>\n    window.requestAnimationFrame(scrollToTop);<br \/>\n    window.scrollTo(0, c &#8211; c \/ 8);<br \/>\n  }<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u8bbe\u7f6ecookie\u503c<\/p>\n<p>[java]function setCookie(name, value, Hours) {<br \/>\n  var d = new Date();<br \/>\n  var offset = 8;<br \/>\n  var utc = d.getTime() + d.getTimezoneOffset() * 60000;<br \/>\n  var nd = utc + 3600000 * offset;<br \/>\n  var exp = new Date(nd);<br \/>\n  exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);<br \/>\n  document.cookie =<br \/>\n    name +<br \/>\n    &quot;=&quot; +<br \/>\n    escape(value) +<br \/>\n    &quot;;path=\/;expires=&quot; +<br \/>\n    exp.toGMTString() +<br \/>\n    &quot;;domain=360doc.com;&quot;;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u8bbe\u4e3a\u9996\u9875<\/p>\n<p>[java]function setHomepage() {<br \/>\n  if (document.all) {<br \/>\n    document.body.style.behavior = &quot;url(#default#homepage)&quot;;<br \/>\n    document.body.setHomePage(&quot;http:\/\/w3cboy.com&quot;);<br \/>\n  } else if (window.sidebar) {<br \/>\n    if (window.netscape) {<br \/>\n      try {<br \/>\n        netscape.security.PrivilegeManager.enablePrivilege(<br \/>\n          &quot;UniversalXPConnect&quot;<br \/>\n        );<br \/>\n      } catch (e) {<br \/>\n        alert(<br \/>\n          &quot;\u8be5\u64cd\u4f5c\u88ab\u6d4f\u89c8\u5668\u62d2\u7edd\uff0c\u5982\u679c\u60f3\u542f\u7528\u8be5\u529f\u80fd\uff0c\u8bf7\u5728\u5730\u5740\u680f\u5185\u8f93\u5165 about:config,\u7136\u540e\u5c06\u9879 signed.applets.codebase_principal_support \u503c\u8be5\u4e3atrue&quot;<br \/>\n        );<br \/>\n      }<br \/>\n    }<br \/>\n    var prefs = Components.classes[<br \/>\n      &quot;@mozilla.org\/preferences-service;1&quot;<br \/>\n    ].getService(Components.interfaces.nsIPrefBranch);<br \/>\n    prefs.setCharPref(&quot;browser.startup.homepage&quot;, &quot;http:\/\/w3cboy.com&quot;);<br \/>\n  }<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u6309\u5b57\u6bcd\u6392\u5e8f\uff0c\u5bf9\u6bcf\u884c\u8fdb\u884c\u6570\u7ec4\u6392\u5e8f<\/p>\n<p>[java]function setSort() {<br \/>\n  var text = K1.value<br \/>\n    .split(\/[\\r\\n]\/)<br \/>\n    .sort()<br \/>\n    .join(&quot;\\r\\n&quot;); \/\/\u987a\u5e8f<br \/>\n  var test = K1.value<br \/>\n    .split(\/[\\r\\n]\/)<br \/>\n    .sort()<br \/>\n    .reverse()<br \/>\n    .join(&quot;\\r\\n&quot;); \/\/\u53cd\u5e8f<br \/>\n  K1.value = K1.value != text ? text : test;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5ef6\u65f6\u6267\u884c<\/p>\n<p>[java]\/\/ \u6bd4\u5982 sleep(1000) \u610f\u5473\u7740\u7b49\u5f851000\u6beb\u79d2\uff0c\u8fd8\u53ef\u4ece Promise\u3001Generator\u3001Async\/Await \u7b49\u89d2\u5ea6\u5b9e\u73b0\u3002<br \/>\n\/\/ Promise<br \/>\nconst sleep = time =&gt; {<br \/>\n  return new Promise(resolve =&gt; setTimeout(resolve, time));<br \/>\n};<\/p>\n<p>sleep(1000).then(() =&gt; {<br \/>\n  console.log(1);<br \/>\n});<\/p>\n<p>\/\/ Generator<br \/>\nfunction* sleepGenerator(time) {<br \/>\n  yield new Promise(function(resolve, reject) {<br \/>\n    setTimeout(resolve, time);<br \/>\n  });<br \/>\n}<\/p>\n<p>sleepGenerator(1000)<br \/>\n  .next()<br \/>\n  .value.then(() =&gt; {<br \/>\n    console.log(1);<br \/>\n  });<\/p>\n<p>\/\/async<br \/>\nfunction sleep(time) {<br \/>\n  return new Promise(resolve =&gt; setTimeout(resolve, time));<br \/>\n}<\/p>\n<p>async function output() {<br \/>\n  let out = await sleep(1000);<br \/>\n  console.log(1);<br \/>\n  return out;<br \/>\n}<\/p>\n<p>output();<\/p>\n<p>function sleep(callback, time) {<br \/>\n  if (typeof callback === &quot;function&quot;) {<br \/>\n    setTimeout(callback, time);<br \/>\n  }<br \/>\n}<\/p>\n<p>function output() {<br \/>\n  console.log(1);<br \/>\n}<\/p>\n<p>sleep(output, 1000);<br \/>\n[\/java]<\/p>\n<p>\u5224\u65ad\u662f\u5426\u4ee5\u67d0\u4e2a\u5b57\u7b26\u4e32\u5f00\u5934<\/p>\n<p>[java]String.prototype.startWith = function(s) {<br \/>\n  return this.indexOf(s) == 0;<br \/>\n};<br \/>\n[\/java]<\/p>\n<p>\u6e05\u9664\u811a\u672c\u5185\u5bb9<\/p>\n<p>[java]function stripscript(s) {<br \/>\n  return s.replace(\/&lt;script.*?&gt;.*?&lt;\\\/script&gt;\/gi, &quot;&quot;);<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u65f6\u95f4\u4e2a\u6027\u5316\u8f93\u51fa\u529f\u80fd<\/p>\n<p>[java]\/*<br \/>\n1\u3001&lt; 60s, \u663e\u793a\u4e3a\u201c\u521a\u521a\u201d<br \/>\n2\u3001&gt;= 1min &amp;&amp; &lt; 60 min, \u663e\u793a\u4e0e\u5f53\u524d\u65f6\u95f4\u5dee\u201cXX\u5206\u949f\u524d\u201d<br \/>\n3\u3001&gt;= 60min &amp;&amp; &lt; 1day, \u663e\u793a\u4e0e\u5f53\u524d\u65f6\u95f4\u5dee\u201c\u4eca\u5929 XX:XX\u201d<br \/>\n4\u3001&gt;= 1day &amp;&amp; &lt; 1year, \u663e\u793a\u65e5\u671f\u201cXX\u6708XX\u65e5 XX:XX\u201d<br \/>\n5\u3001&gt;= 1year, \u663e\u793a\u5177\u4f53\u65e5\u671f\u201cXXXX\u5e74XX\u6708XX\u65e5 XX:XX\u201d<br \/>\n*\/<br \/>\nfunction timeFormat(time) {<br \/>\n  var date = new Date(time),<br \/>\n    curDate = new Date(),<br \/>\n    year = date.getFullYear(),<br \/>\n    month = date.getMonth() + 10,<br \/>\n    day = date.getDate(),<br \/>\n    hour = date.getHours(),<br \/>\n    minute = date.getMinutes(),<br \/>\n    curYear = curDate.getFullYear(),<br \/>\n    curHour = curDate.getHours(),<br \/>\n    timeStr;<\/p>\n<p>  if (year &lt; curYear) {<br \/>\n    timeStr = year + &quot;\u5e74&quot; + month + &quot;\u6708&quot; + day + &quot;\u65e5 &quot; + hour + &quot;:&quot; + minute;<br \/>\n  } else {<br \/>\n    var pastTime = curDate &#8211; date,<br \/>\n      pastH = pastTime \/ 3600000;<\/p>\n<p>    if (pastH &gt; curHour) {<br \/>\n      timeStr = month + &quot;\u6708&quot; + day + &quot;\u65e5 &quot; + hour + &quot;:&quot; + minute;<br \/>\n    } else if (pastH &gt;= 1) {<br \/>\n      timeStr = &quot;\u4eca\u5929 &quot; + hour + &quot;:&quot; + minute + &quot;\u5206&quot;;<br \/>\n    } else {<br \/>\n      var pastM = curDate.getMinutes() &#8211; minute;<br \/>\n      if (pastM &gt; 1) {<br \/>\n        timeStr = pastM + &quot;\u5206\u949f\u524d&quot;;<br \/>\n      } else {<br \/>\n        timeStr = &quot;\u521a\u521a&quot;;<br \/>\n      }<br \/>\n    }<br \/>\n  }<br \/>\n  return timeStr;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5168\u89d2\u8f6c\u6362\u4e3a\u534a\u89d2\u51fd\u6570<\/p>\n<p>[java]function toCDB(str) {<br \/>\n  var result = &quot;&quot;;<br \/>\n  for (var i = 0; i &lt; str.length; i++) {<br \/>\n    code = str.charCodeAt(i);<br \/>\n    if (code &gt;= 65281 &amp;&amp; code &lt;= 65374) {<br \/>\n      result += String.fromCharCode(str.charCodeAt(i) &#8211; 65248);<br \/>\n    } else if (code == 12288) {<br \/>\n      result += String.fromCharCode(str.charCodeAt(i) &#8211; 12288 + 32);<br \/>\n    } else {<br \/>\n      result += str.charAt(i);<br \/>\n    }<br \/>\n  }<br \/>\n  return result;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u534a\u89d2\u8f6c\u6362\u4e3a\u5168\u89d2\u51fd\u6570<\/p>\n<p>[java]function toDBC(str) {<br \/>\n  var result = &quot;&quot;;<br \/>\n  for (var i = 0; i &lt; str.length; i++) {<br \/>\n    code = str.charCodeAt(i);<br \/>\n    if (code &gt;= 33 &amp;&amp; code &lt;= 126) {<br \/>\n      result += String.fromCharCode(str.charCodeAt(i) + 65248);<br \/>\n    } else if (code == 32) {<br \/>\n      result += String.fromCharCode(str.charCodeAt(i) + 12288 &#8211; 32);<br \/>\n    } else {<br \/>\n      result += str.charAt(i);<br \/>\n    }<br \/>\n  }<br \/>\n  return result;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u91d1\u989d\u5927\u5199\u8f6c\u6362\u51fd\u6570<\/p>\n<p>[java]function transform(tranvalue) {<br \/>\n  try {<br \/>\n    var i = 1;<br \/>\n    var dw2 = new Array(&quot;&quot;, &quot;\u4e07&quot;, &quot;\u4ebf&quot;); \/\/\u5927\u5355\u4f4d<br \/>\n    var dw1 = new Array(&quot;\u62fe&quot;, &quot;\u4f70&quot;, &quot;\u4edf&quot;); \/\/\u5c0f\u5355\u4f4d<br \/>\n    var dw = new Array(<br \/>\n      &quot;\u96f6&quot;,<br \/>\n      &quot;\u58f9&quot;,<br \/>\n      &quot;\u8d30&quot;,<br \/>\n      &quot;\u53c1&quot;,<br \/>\n      &quot;\u8086&quot;,<br \/>\n      &quot;\u4f0d&quot;,<br \/>\n      &quot;\u9646&quot;,<br \/>\n      &quot;\u67d2&quot;,<br \/>\n      &quot;\u634c&quot;,<br \/>\n      &quot;\u7396&quot;<br \/>\n    );<br \/>\n    \/\/\u6574\u6570\u90e8\u5206\u7528<br \/>\n    \/\/\u4ee5\u4e0b\u662f\u5c0f\u5199\u8f6c\u6362\u6210\u5927\u5199\u663e\u793a\u5728\u5408\u8ba1\u5927\u5199\u7684\u6587\u672c\u6846\u4e2d<br \/>\n    \/\/\u5206\u79bb\u6574\u6570\u4e0e\u5c0f\u6570<br \/>\n    var source = splits(tranvalue);<br \/>\n    var num = source[0];<br \/>\n    var dig = source[1];<br \/>\n    \/\/\u8f6c\u6362\u6574\u6570\u90e8\u5206<br \/>\n    var k1 = 0; \/\/\u8ba1\u5c0f\u5355\u4f4d<br \/>\n    var k2 = 0; \/\/\u8ba1\u5927\u5355\u4f4d<br \/>\n    var sum = 0;<br \/>\n    var str = &quot;&quot;;<br \/>\n    var len = source[0].length; \/\/\u6574\u6570\u7684\u957f\u5ea6<br \/>\n    for (i = 1; i &lt;= len; i++) {<br \/>\n      var n = source[0].charAt(len &#8211; i); \/\/\u53d6\u5f97\u67d0\u4e2a\u4f4d\u6570\u4e0a\u7684\u6570\u5b57<br \/>\n      var bn = 0;<br \/>\n      if (len &#8211; i &#8211; 1 &gt;= 0) {<br \/>\n        bn = source[0].charAt(len &#8211; i &#8211; 1); \/\/\u53d6\u5f97\u67d0\u4e2a\u4f4d\u6570\u524d\u4e00\u4f4d\u4e0a\u7684\u6570\u5b57<br \/>\n      }<br \/>\n      sum = sum + Number(n);<br \/>\n      if (sum != 0) {<br \/>\n        str = dw[Number(n)].concat(str); \/\/\u53d6\u5f97\u8be5\u6570\u5b57\u5bf9\u5e94\u7684\u5927\u5199\u6570\u5b57\uff0c\u5e76\u63d2\u5165\u5230str\u5b57\u7b26\u4e32\u7684\u524d\u9762<br \/>\n        if (n == &quot;0&quot;) sum = 0;<br \/>\n      }<br \/>\n      if (len &#8211; i &#8211; 1 &gt;= 0) {<br \/>\n        \/\/\u5728\u6570\u5b57\u8303\u56f4\u5185<br \/>\n        if (k1 != 3) {<br \/>\n          \/\/\u52a0\u5c0f\u5355\u4f4d<br \/>\n          if (bn != 0) {<br \/>\n            str = dw1[k1].concat(str);<br \/>\n          }<br \/>\n          k1++;<br \/>\n        } else {<br \/>\n          \/\/\u4e0d\u52a0\u5c0f\u5355\u4f4d\uff0c\u52a0\u5927\u5355\u4f4d<br \/>\n          k1 = 0;<br \/>\n          var temp = str.charAt(0);<br \/>\n          if (temp == &quot;\u4e07&quot; || temp == &quot;\u4ebf&quot;)<br \/>\n            \/\/\u82e5\u5927\u5355\u4f4d\u524d\u6ca1\u6709\u6570\u5b57\u5219\u820d\u53bb\u5927\u5355\u4f4d<br \/>\n            str = str.substr(1, str.length &#8211; 1);<br \/>\n          str = dw2[k2].concat(str);<br \/>\n          sum = 0;<br \/>\n        }<br \/>\n      }<br \/>\n      if (k1 == 3) {<br \/>\n        \/\/\u5c0f\u5355\u4f4d\u5230\u5343\u5219\u5927\u5355\u4f4d\u8fdb\u4e00<br \/>\n        k2++;<br \/>\n      }<br \/>\n    }<br \/>\n    \/\/\u8f6c\u6362\u5c0f\u6570\u90e8\u5206<br \/>\n    var strdig = &quot;&quot;;<br \/>\n    if (dig != &quot;&quot;) {<br \/>\n      var n = dig.charAt(0);<br \/>\n      if (n != 0) {<br \/>\n        strdig += dw[Number(n)] + &quot;\u89d2&quot;; \/\/\u52a0\u6570\u5b57<br \/>\n      }<br \/>\n      var n = dig.charAt(1);<br \/>\n      if (n != 0) {<br \/>\n        strdig += dw[Number(n)] + &quot;\u5206&quot;; \/\/\u52a0\u6570\u5b57<br \/>\n      }<br \/>\n    }<br \/>\n    str += &quot;\u5143&quot; + strdig;<br \/>\n  } catch (e) {<br \/>\n    return &quot;0\u5143&quot;;<br \/>\n  }<br \/>\n  return str;<br \/>\n}<br \/>\n\/\/\u62c6\u5206\u6574\u6570\u4e0e\u5c0f\u6570<br \/>\nfunction splits(tranvalue) {<br \/>\n  var value = new Array(&quot;&quot;, &quot;&quot;);<br \/>\n  temp = tranvalue.split(&quot;.&quot;);<br \/>\n  for (var i = 0; i &lt; temp.length; i++) {<br \/>\n    value = temp;<br \/>\n  }<br \/>\n  return value;<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u6e05\u9664\u7a7a\u683c<\/p>\n<p>[java]String.prototype.trim = function() {<br \/>\n  var reExtraSpace = \/^\\s*(.*?)\\s+$\/;<br \/>\n  return this.replace(reExtraSpace, &quot;$1&quot;);<br \/>\n};<\/p>\n<p>\/\/ \u6e05\u9664\u5de6\u7a7a\u683c<br \/>\n[java]function ltrim(s) {<br \/>\n  return s.replace(\/^(\\s*|\u3000*)\/, &quot;&quot;);<br \/>\n}<\/p>\n<p>\/\/ \u6e05\u9664\u53f3\u7a7a\u683c<br \/>\n[java]function rtrim(s) {<br \/>\n  return s.replace(\/(\\s*|\u3000*)$\/, &quot;&quot;);<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u968f\u673a\u6570\u65f6\u95f4\u6233<\/p>\n<p>[java]function uniqueId() {<br \/>\n  var a = Math.random,<br \/>\n    b = parseInt;<br \/>\n  return (<br \/>\n    Number(new Date()).toString() + b(10 * a()) + b(10 * a()) + b(10 * a())<br \/>\n  );<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>\u5b9e\u73b0utf8\u89e3\u7801<\/p>\n<p>[java]function utf8_decode(str_data) {<br \/>\n  var tmp_arr = [],<br \/>\n    i = 0,<br \/>\n    ac = 0,<br \/>\n    c1 = 0,<br \/>\n    c2 = 0,<br \/>\n    c3 = 0;<br \/>\n  str_data += &quot;&quot;;<br \/>\n  while (i &lt; str_data.length) {<br \/>\n    c1 = str_data.charCodeAt(i);<br \/>\n    if (c1 &lt; 128) {<br \/>\n      tmp_arr[ac++] = String.fromCharCode(c1);<br \/>\n      i++;<br \/>\n    } else if (c1 &gt; 191 &amp;&amp; c1 &lt; 224) {<br \/>\n      c2 = str_data.charCodeAt(i + 1);<br \/>\n      tmp_arr[ac++] = String.fromCharCode(((c1 &amp; 31) &lt;&lt; 6) | (c2 &amp; 63));<br \/>\n      i += 2;<br \/>\n    } else {<br \/>\n      c2 = str_data.charCodeAt(i + 1);<br \/>\n      c3 = str_data.charCodeAt(i + 2);<br \/>\n      tmp_arr[ac++] = String.fromCharCode(<br \/>\n        ((c1 &amp; 15) &lt;&lt; 12) | ((c2 &amp; 63) &lt;&lt; 6) | (c3 &amp; 63)<br \/>\n      );<br \/>\n      i += 3;<br \/>\n    }<br \/>\n  }<br \/>\n  return tmp_arr.join(&quot;&quot;);<br \/>\n}[\/java]<\/p>\n<p>\u539f\u6587\uff1ahttps:\/\/github.com\/Wscats\/CV\/issues\/27<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u83b7\u53d6cookie\u503c [java]function getCookie(name) { var arr = do [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[109,105],"tags":[],"_links":{"self":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/2436"}],"collection":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2436"}],"version-history":[{"count":2,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/2436\/revisions"}],"predecessor-version":[{"id":2438,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/2436\/revisions\/2438"}],"wp:attachment":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}