2015-11-02 126 views
1

我正在使用Google Caja来清理我网站上的用户输入。我目前正在处理用户输入内部的回调,我传递给caja.whenReady()。但是,在Microsoft Edge上,回调永远不会被调用,因为Caja无法保证Edge的安全。如果Caja不起作用,我想回到处理用户的内容服务器端,我将简单地删除所有的JavaScript。如何检查用户的浏览器是否支持Google Caja?

我如何检查是否卡哈工程与用户的浏览器?

回答

0

下面的代码会给你一个函数browserSupportsCaja(),它会在Caja调用它的whenReady()回调后随时返回true。通过这种方式,您可以确定Caja是否在初始化后受到支持。

如果您检查卡哈支持它完成初始化之前,那么你会得到一个假阴性。要听清楚,只是把要执行后卡哈处于whenReady()回调现成的代码,并假设卡哈不是其他任何地方。

caja.initialize({ 
    cajaServer: 'https://caja.appspot.com/' 
}); 

function browserSupportsCaja() { 
    return browserSupportsCaja.return_value; 
} 
browserSupportsCaja.return_value = false; 

caja.whenReady(function() { 
    browserSupportsCaja.return_value = true; 
}); 
相关问题