以前有人问过这个问题,但提供的答案都不是正确的。我不允许对原始问题(或答案)发表评论,因此我正在创建一个向我建议的新问题。
我需要检测用户是否通过 Safari Web Archive 或通过正确的 Web url 访问了特定页面。
链接问题的答案均不适用于 Safari 网络档案。接受的答案是这样的:
switch(window.location.protocol) {
case 'http:':
case 'https:':
//remote file over http or https
break;
case 'file:':
//local file
break;
default:
//some other protocol
}
但是,出于某种原因,Safari webarchive 文件的行为似乎就像在服务器上远程访问它们一样。在测试位置协议时,它总是返回 http,而不是 file://
safari webarchive 中唯一不同的似乎是文件本身的 mimetype,即“application/x-webarchive” 但似乎没有可靠的方法来检测当前页面的 mime 类型。
我很想找到一个合适的解决方案来从远程访问的页面中检测本地页面。