前端跨页面通信方案介绍

前言

在浏览器中,我们可以同时打开多个Tab页,每个Tab页可以粗略理解为一个“独立”的运行环境,即使是全局对象也不会在多个Tab间共享。然而有些时候,我们希望能在这些“独立”的Tab页面之间同步页面的数据、信息或状态。这就是本文说说的跨页面通信方案,那么目前有哪些跨页面的通信方案呢?本文重点介绍一下。

同源页面之间跨页面通信

同源页面之间跨页面通信一般有如下几种方案。

一、BroadCast Channel

JS监听dom高度变化方法总结

前言

有时候我们需要监听dom的变化,例如有时候图片未加载完就取 dom 的高度,这样会导致高度不正确,所以需要监听 dom 的高度变化。才能准确获取dom的高度,那么有哪些监听dom高度变化的方法呢?今天简单列举一下。

监听dom树变化DOMNodeInserted

可以用DOMNodeInserted事件监听子元素是否改变,但是不是很准确。

js判断字符串是否是Html或者url及html反转方案

前言

本文主要是技术积累文章,主要记录收集几个js判断是否是html,及判断url正则及html转义方案。

js判断字符串是否是html

方案一:

function isHTML(str) {
  var a = document.createElement('div');
  a.innerHTML = str;

  for (var c = a.childNodes, i = c.length; i--; ) {
    if (c[i].nodeType == 1) return true;
  }

  return false;
}