2016-11-03 15 views
0

ウェブアプリケーションではpolymerを使用しています。私たちが直面している問題は、古いブラウザ(Chrome 35以前、FF 28以前など)polymer is not supportedでは、os/browserの組み合わせがポリマーをサポートしていないかどうかをプログラムで確認できる方法があることはわかります。ポリマーが機能していないかどうかはどうすればわかりますか?

ポリマーのサポートによってブラウザのバージョンが異なるため、異なるウェブサイトを提供していますが、サイトにはまだユーザーのフィードバックがありません。ポリマーに負荷がかからない場合は、白い空白のページが表示されます。

+1

関連するコードを投稿してください... –

答えて

2

私の問題は、ブラウザがWebコンポーネント/ polyfillをサポートしているかどうかにあります。

Issue #26 on this webcomponentsjsこれについての話です。彼らは、この手法は100%の時間では機能しないことに注意しています。この方法の利点は、ポリフィルがロードされた直後に実行できることです。

var webComponentsSupported = (
    'registerElement' in document && 
    'import' in document.createElement('link') && 
    'content' in document.createElement('template')); 

しかし、より簡単かつ確実な方法は、カスタム要素を作成し、ブラウザがカスタム要素としてそれを解釈するかどうかを確認するために、後で戻って確認しようとすることです。例:

var isRegistered = function(name) { 
    return document.createElement(name).constructor !== HTMLElement; 
} 

ブラウザがカスタム要素を認識すると、コンストラクタはHTMLElementになりません。あなたのブラウザがカスタム要素を読み込んでいないと判断した場合は、Googleアナリティクスを使用してブラウザ情報などの詳細情報をイベントに送信できます。

関連する問題