6
有沒有方法可以確定瀏覽器是否支持將超鏈接的數據URI用於瀏覽器嗅探?如何確定瀏覽器是否支持超鏈接的數據URI
這裏的背景:
我創建一個鏈接或者下載的使用得心應手數據URI或通過JavaScript產生的信息的CSV文件,如果瀏覽器不支持使用數據URI的超鏈接,生成所需內容的HTML表格。
現在我的代碼檢查window.URL
屬性的存在,它不存在於IE9及更低版本中。 (這是工作好了,現在,是因爲我需要支持IE用戶在兼容模式下,其模擬IE8運行。)
if(window.URL){
downloadLink.href = "data:text/csv;charset=utf-8," + encodeURIComponent(data);
downloadLink.setAttribute("download","download.csv");
}else{
downloadLink.href= "#";
downloadLink.innerHTML = "table view";
downloadLink.onclick = function(){
// build and display HTML table
return false;
};
}
然而,有與Internet Explorer(10,11的新版本有一些重疊,以及邊緣),因爲它們支持window.URL對象,但是做而不是允許超鏈接的數據URI。
如何確保下載CSV的鏈接永遠不會顯示給不支持這種幻想的瀏覽器?
請參閱http://stackoverflow.com/questions/836777/how-to-detect-browsers-protocol-handlers,http://stackoverflow.com/questions/24779312/simplest-cross-browser-check-if-協議處理程序-被登記 – guest271314