【问题标题】:How can you check if the user's browser supports Google Caja?如何检查用户的浏览器是否支持 Google Caja?
【发布时间】:2015-11-02 05:02:24
【问题描述】:

我正在使用 Google Caja 来清理我网站上的用户输入。我目前正在传递给 caja.whenReady() 的回调中处理用户的输入。但是,在 Microsoft Edge 上,永远不会调用回调,因为 Caja 无法确保 Edge 安全。如果 Caja 不起作用,我想回退到处理用户的内容服务器端,我会简单地去除所有 JavaScript。

如何检查 Caja 是否适用于用户的浏览器?

【问题讨论】:

    标签: google-caja


    【解决方案1】:

    下面的代码将为您提供一个函数,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;
    });
    

    【讨论】:

      猜你喜欢
      • 2020-01-04
      • 2018-06-01
      • 1970-01-01
      • 2018-02-24
      • 2015-06-26
      • 2016-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多