2015-11-02 1 views
1

Я использую Google Caja для дезинфекции ввода пользователя на моем сайте. В настоящее время я обрабатываю вход пользователя внутри обратного вызова, которое я передаю caja.whenReady(). Однако в Microsoft Edge обратный вызов никогда не вызывается, потому что Edge не может быть безопасным для Caja. В случае, если Caja не работает, я хочу вернуться к обработке серверной части содержимого пользователя, где я просто удалю весь JavaScript.Как вы можете проверить, поддерживает ли браузер пользователя Google Caja?

Как проверить, работает ли Caja с браузером пользователя?

ответ

0

Код, предоставленный ниже, даст вам функцию browserSupportsCaja(), которая вернется в любой момент после того, как Caja называет свои whenReady() обратные вызовы. Таким образом, вы можете определить, поддерживается ли 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; 
});