тестирования для определенного способности в браузере часто включает в себя тестирование, если метод или свойство равно нулю.
// Is canvas supported? Test by seeing if HTMLCanvasElement is 'truthy'
var BrowserAllowsCanvas = !!window.HTMLCanvasElement;
Но Blending - это присвоение свойства, а не метод/свойство, которое вы можете проверить как null.
Чтобы установить режим смешивания вы назначаете Blend-режим context.globalCompositeOperation
context.globalCompositeOperation='multiply';
Так, пожалуй, самый простой тест для купажа попытаться установить context.globalCompositeOperation
на правильный режим смешивания, а затем, если это назначение застревают проверить.
function CanvasAllowsBlending(){
var hasBlending=false;
ctx.save();
ctx.globalCompositeOperation='multiply';
var hasBlending=(ctx.globalCompositeOperation=='multiply');
ctx.restore();
return(hasBlending);
}
[Обновление: Новые режимы смешивания, которые были добавлены к холсту - вызывает проблему]
Как @Kaiido говорит here, некоторые из вновь добавленного набора режимов смешивания (в некоторых браузерах) будет ложно указывать поддержку, когда на самом деле нет поддержки. Поэтому, пока браузеры не исправят эту ошибку, вы можете применить композиционный и затем пиксельный тест, чтобы убедиться, что он действительно вступил в силу.
Что именно вы подразумеваете под «режимами смешивания»? – jfriend00
Добавлено редактирование для уточнения. Но я имею в виду режимы смешивания холста http://caniuse.com/#feat=canvas-blending – Siva