前言
在浏览器中,我们可以同时打开多个Tab页,每个Tab页可以粗略理解为一个“独立”的运行环境,即使是全局对象也不会在多个Tab间共享。然而有些时候,我们希望能在这些“独立”的Tab页面之间同步页面的数据、信息或状态。这就是本文说说的跨页面通信方案,那么目前有哪些跨页面的通信方案呢?本文重点介绍一下。
同源页面之间跨页面通信
同源页面之间跨页面通信一般有如下几种方案。
在浏览器中,我们可以同时打开多个Tab页,每个Tab页可以粗略理解为一个“独立”的运行环境,即使是全局对象也不会在多个Tab间共享。然而有些时候,我们希望能在这些“独立”的Tab页面之间同步页面的数据、信息或状态。这就是本文说说的跨页面通信方案,那么目前有哪些跨页面的通信方案呢?本文重点介绍一下。
同源页面之间跨页面通信一般有如下几种方案。
本文是js文件处理系列三,前两篇文章有介绍js文件处理,感兴趣的可以查看导出pdf文件和word/excel/pdf/ppt在线预览,本文补充一下js提前pdf中的文字和图片的方法。
其实核心代码还是利用了pdf.js这个库,之前上一篇文章也有提及这个库,主要可以做pdfweb端的预览。
有时候我们需要监听dom的变化,例如有时候图片未加载完就取 dom 的高度,这样会导致高度不正确,所以需要监听 dom 的高度变化。才能准确获取dom的高度,那么有哪些监听dom高度变化的方法呢?今天简单列举一下。
可以用DOMNodeInserted事件监听子元素是否改变,但是不是很准确。
本文主要是技术积累文章,主要记录收集几个js判断是否是html,及判断url正则及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;
}
之前文章有写关于加密的javascript用户密码加密,js密码加密,是很久之前写的了,有点过时。其实web支持前端加密了,喜大普奔,可以不用引入js进行前端加密。
我们看下Crypto对象的兼容性