[英]How can I detect non-functional pointer-events?
這里說Opera 12不支持指針事件。 沒錯,它破壞了我的網站。 問題在於,即使他們似乎沒有對css的屬性做正確的事情,他們也確實支持css中的屬性。 在這種情況下,采用Modernizr形式的特征檢測是沒有用的:
>>> Modernizr.testProp('pointerEvents')
true
jQuery.browser已被刪除。 我該怎么做才能在我的JavaScript代碼中檢測到這種情況? 還是要獲得Opera的版本?
Opera提供了一種獲取版本的簡單方法。 如果您確定Opera
if (window.opera && parseInt(opera.version(), <== 12)) {
//do the opera thing
}
將檢測小於或等於12的歌劇
好的,這是我的錯誤解決方案,希望有更好的解決方案...這是打字稿中的內容:
...
public isBadOpera(): boolean
{
var isOpera = Object.prototype.toString.call(window['opera']) == '[object Opera]';
if ( isOpera )
{
var opera: OperaVersion = window['opera'];
var version_string = opera.version();
var version_re = /(\d+).(\d+)/;
var mo = version_re.exec(version_string);
if ( mo )
{
var major_version = Number(mo[1]);
if ( major_version <= 12)
{
return true;
}
}
}
return false;
}
...
interface Opera {
version():string;
}
如果只想檢測是否啟用了指針事件,則可以根據W3C規范使用navigator屬性:
window.navigator.pointerEnabled
對於Opera 15及更高版本,這是正確的,但是對於Opera 12及以下版本,則沒有定義,這是您從我的理解中所想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.