JavascriptのWindows 8 Metroアプリケーションは、環境がどのように検出されますか?JavascriptからWin8/Metroを検出する方法
更新:私のJavascriptコードは、ブラウザとWin8アプリケーションの両方で実行されます。 Win8アプリケーションはJSコードのセキュリティ制限を課すため、Win8アプリケーションでコードが実行されていることを検出したいと考えています。
JavascriptのWindows 8 Metroアプリケーションは、環境がどのように検出されますか?JavascriptからWin8/Metroを検出する方法
更新:私のJavascriptコードは、ブラウザとWin8アプリケーションの両方で実行されます。 Win8アプリケーションはJSコードのセキュリティ制限を課すため、Win8アプリケーションでコードが実行されていることを検出したいと考えています。
を検出するためのプロパティ:これを検出する
一つの方法は、いくつかのMS固有のオブジェクトまたは名前空間の存在を確認することです。それらの1つはWindowsです。たとえば:
if (typeof Windows != "undefined") {
// Running in Win8 app
} else {
// Running in a browser
}
私はあなたが使用できると思う:
WorkerNavigator.useragent
自分自身に答えることに
を、あなたは正確に何を提案していますか?そのプロパティの存在はWin8/Metroのための良いテストですか、あるいはユーザーエージェントの内容を見なければなりませんか?信頼できるとは言えません。 – Kyberias
さて、確かに、プロパティテストは、ユーザーエージェントよりも良い方法です。 –
私はこのコードを使用します
var isWinJS = !!window.Windows && /^ms-appx:/.test(location.href);
--WRR名前空間(JSでオブジェクトとして投影されています)の存在を検出することもできます - 特にルート 'Windows'名前空間。 –
誰かが '({})。toString.call(Windows)'が何であるか見ることができますか?これは、より堅牢な検出である可能性があります。 –