[英]How do I check browser compatibility for my own JS library?
我正在制作自己的Javascript庫。 它會更改輸入中的占位符,這意味着添加對<IE9的支持是沒有意義的。 因此,我正在利用document.querySelectorAll
。
這是一個獨立的庫,所以我不想使用其他庫,例如Modernizr.js
我應該在哪里測試該功能的兼容性以及輸入實際上支持占位符?
http://jsfiddle.net/WR3Mr/1/到目前為止,這就是我的操作方式(請參閱Javascript窗口和我在此處留下的評論)。 如果像我現在所做的那樣,在不支持這些功能的瀏覽器上,由於未定義PHR / PlaceholderRotator,它將在用戶腳本上引發ReferenceError。
這是正確的方法嗎? 不喜歡它。
您可以使用以下命令檢查對querySelector()
支持:
if('querySelector' in document)
或更簡單地說:
if(document.querySelector)
您不想使您的腳本不必要地執行額外的工作。 如果該庫的純粹功能是充當placeholder
屬性的填充/填充,則最好在運行任何其他庫之前檢查是否支持這些屬性並以本機方式處理它們。
執行此操作的標准方法是:
var foo;
if(document.querySelector) {
foo = document.querySelector;
} else {
foo = function() {
...code which emulates document.querySelector...
}
}
之后,您只需調用foo()
。
這種方法的主要優點是您通常會知道需要做什么。 因此,為此創建一個專門針對您的需求的功能是有意義的。 然后,您可以在許多地方使用此功能。 如果出現問題,則只需要在一個(或兩個)位置上修復它。 使用上面的功能開關,您不需要昂貴的if()
構造-只需調用函數即可; 如果可以的話,隨時可以提供服務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.