我正在使用Google Caja来清理我网站上的用户输入。我正在处理我传递给caja.whenReady()的回调中的用户输入。但是,在Microsoft Edge上,从不调用回调,因为Caja无法使Edge成为安全。如果Caja不起作用,我想回到处理用户的内容服务器端,我将简单地删除所有JavaScript。
如何检查Caja是否适用于用户的浏览器?
答案 0 :(得分:0)
下面的代码会为您提供一个函数browserSupportsCaja()
,它会在Caja调用whenReady()
回调后随时返回true。这样,您可以在初始化后确定Caja是否受支持。
如果在完成初始化之前检查Caja支持,那么您将得到假阴性。要理解这一点,只需在Caja准备好whenReady()
回调之后放置您想要执行的代码,并假设Caja在其他任何地方都不可用。
caja.initialize({
cajaServer: 'https://caja.appspot.com/'
});
function browserSupportsCaja() {
return browserSupportsCaja.return_value;
}
browserSupportsCaja.return_value = false;
caja.whenReady( function() {
browserSupportsCaja.return_value = true;
});