小编use*_*536的帖子

JavaScript变量在哪里缓存?有没有办法更有效地手动缓存?

现在在我继续之前,这更多的是我的好奇心.我喜欢修修补补,即使它不是网络标准中"最聪明"的东西,做实验也很有趣.

现在我试图看看我是否可以通过mongodb的网络套接字在base64中提供图像(我知道很疯狂).总体而言,获取图像的速度要快得多,但浏览器永远不会缓存它,因为它不是静态资源.

我正在制作的应用程序不需要处理重新加载,如果有刷新,我可以重新下载内容.

所以它让我想知道JavaScript保存变量的位置,我会在内存中假设,但如果是这样的话,内存中的20+ base64图像会超出顶部以迫使客户端处理.它在磁盘中吗?我不知道在哪里可以得到答案,这就是我在这里的原因.有点怀疑它在磁盘中,但确保浏览器不会过度使用内存是有意义的.

还有应用程序缓存,这可能非常有用,但前提是我可以在其中存储字符串.

localStorage是完美的,但10mb的限制几乎消除了它.

总的来说,我想看看是否有一种从JavaScript安全缓存手动创建的静态资源的好方法.

这个问题被标记为不清楚,上述意见总结了它.我希望这可以帮助一些人,如果不是这里,它会被改写.

浏览器根据http请求自然缓存,有没有办法在客户端计算机上安全地缓存像base64图像这样的长字符串,即使它意味着最新的"不稳定"的html5/javascript方法.

希望为那些困惑的人清除它.

javascript caching

5
推荐指数
1
解决办法
143
查看次数

检查数组中是否存在函数

我有一个 kinecticjs 图像对象,我根据某些参数应用过滤器,但是当需要重新绘制时,它将再次应用过滤器,这意味着它将复制过滤器。

我知道我应该进行某种检查,但它会将函数应用于数组。

//create object
var image = new Kinetic.Image({
    image: alreadyLoadedImageObject
});

function addFilter(shouldAdd){
    if(shouldAdd){
        var filters = image.filters() || [];

        filters.push(Kinetic.Filters.RGB);

        image.filters(filters);
    }
}

layer.add(image);
stage.add(layer);

addFilter(true);
stage.draw();

setTimeout(function(){
    addFilter(true);
    stage.draw();
},500);
Run Code Online (Sandbox Code Playgroud)

这应该大致显示我当前正在做什么,在这种情况下,一旦超时,就会将 2Kinetic.Filters.RGB应用于图像对象。

我认为这是一个一般的javascript问题,而不仅仅是kineticjs,因为根源是我需要以某种方式知道Kinetic.Filters.RGB过滤器数组中已经有一个函数。

所以有两个问题,是否有办法检查Array.indexOf数组中是否已存在函数名称之类的内容?或者 KineticJS 中是否已经有某种我没有见过的预构建方法?

javascript arrays kineticjs

3
推荐指数
1
解决办法
2133
查看次数

标签 统计

javascript ×2

arrays ×1

caching ×1

kineticjs ×1