html工具类

// html便捷操作js

/**
 * 去除字符串中的html标签
 * @param {*} str 
 * @returns 
 */
export const removehtmltag = (str) => {
  return str.replace(/<[^>]+>/g, '')
}

/**
 * 动态引入js
 * @param {*} src 
 */
export const injectScript = (src) => {
  const s = document.createElement('script');
  s.type = 'text/JavaScript';
  s.async = true;
  s.src = src;
  const t = document.getElementsByTagName('script')[0];
  t.parentNode.insertBefore(s, t);
}

/**
 * el是否包含某个class
 * @param {*} el 
 * @param {*} className 
 * @returns 
 */
export const hasClass = (el, className) => {
  let reg = new RegExp('(^|\\s)' + className + '(\\s|$)')
  return reg.test(el.className)
}

/**
 * el添加某个class
 * @param {*} el 
 * @param {*} className 
 * @returns 
 */
export const addClass = (el, className) => {
  if (hasClass(el, className)) {
    return
  }
  let newClass = el.className.split(' ')
  newClass.push(className)
  el.className = newClass.join(' ')
}
/**
 * el去除某个class
 * @param {*} el 
 * @param {*} className 
 * @returns 
 */
export const removeClass = (el, className) => {
  if (!hasClass(el, className)) {
    return
  }
  let reg = new RegExp('(^|\\s)' + className + '(\\s|$)', 'g')
  el.className = el.className.replace(reg, ' ')
}
/**
 * 获取滚动的坐标
 * @param {*} el 
 * @returns 
 */
export const getScrollPosition = (el = window) => ({
  x: el.pageXOffset !== undefined ? el.pageXOffset : el.scrollLeft,
  y: el.pageYOffset !== undefined ? el.pageYOffset : el.scrollTop
});
/**
 * 滚动到顶部
 */
export const scrollToTop = () => {
  const c = document.documentElement.scrollTop || document.body.scrollTop;
  if (c > 0) {
    window.requestAnimationFrame(scrollToTop);
    window.scrollTo(0, c - c / 8);
  }
}
/**
 * el是否在视口范围内
 * @param {*} el 
 * @param {*} partiallyVisible 
 * @returns 
 */
export const elementIsVisibleInViewport = (el, partiallyVisible = false) => {
  const { top, left, bottom, right } = el.getBoundingClientRect();
  const { innerHeight, innerWidth } = window;
  return partiallyVisible
    ? ((top > 0 && top < innerHeight) || (bottom > 0 && bottom < innerHeight)) &&
    ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))
    : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;
}


/**
 * 根据URL地址下载文件
 * @param {*} url 
 * @returns 
 */
export const download = (url) => {
  var isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
  var isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;
  if (isChrome || isSafari) {
    var link = document.createElement('a');
    link.href = url;
    if (link.download !== undefined) {
      var fileName = url.substring(url.lastIndexOf('/') + 1, url.length);
      link.download = fileName;
    }
    if (document.createEvent) {
      var e = document.createEvent('MouseEvents');
      e.initEvent('click', true, true);
      link.dispatchEvent(e);
      return true;
    }
  }
  if (url.indexOf('?') === -1) {
    url += '?download';
  }
  window.open(url, '_self');
  return true;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java提供了一种将HTML转换为图片的工具类-Java HTML转Image工具类。这个工具类的作用是将HTML代码转换为图片格式,方便在其他场景中使用,例如生成链接、缩略图、截图等。 Java HTML转Image工具类的实现原理是使用了Java的相关技术,如JavaFX或者AWT/Swing。具体实现步骤如下: 1. 解析HTML代码:首先需要将HTML代码解析为DOM树,可以使用Java HTML解析器(如Jsoup)来完成这一步骤。 2. 创建JavaFX或AWT/Swing画布:接下来,需要创建一个JavaFX或AWT/Swing的画布,用于渲染HTML内容。 3. 渲染HTML内容:将解析得到的DOM树渲染到画布上,可以使用JavaFX WebView(对应JavaFX画布)或者JEditorPane(对应AWT/Swing画布)来实现。 4. 截取画布内容:然后,根据需要,可以使用Java图形库提供的截图功能来截取画布上的内容。 5. 保存为图片:最后,将截取的内容保存为图片格式,可以使用Java图形库提供的图片处理功能来实现,例如ImageIO。 在实际应用中,可以将上述步骤封装为一个工具类,方便在其他地方使用。这样,只需要调用这个工具类的方法,传入HTML代码和图片保存路径,就可以将HTML转换为图片。 需要注意的是,Java HTML转Image工具类的实现原理和具体实现方式可能因不同的需求而有所差异。此外,HTML中的一些特殊功能(例如JavaScript、CSS动画等)可能在转换为图片时无法完全保留,需要根据具体情况进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值