在浏览器中查看带有.asp扩展名的本地html文件

问题描述 投票:4回答:5

您好,我已爬网一个网站以供离线查看,但是许多页面已下载并另存为.asp,并且有指向这些页面的链接。但是,当我在Chrome浏览器中打开这些扩展名为.asp的html页面时,chrome将下载该页面而不是呈现该页面。有没有一种方法可以将Chrome设置为呈现页面而不是下载页面?

谢谢

html google-chrome view asp-classic offline
5个回答
2
投票

[当您的浏览器打开文件时,它使用MIME类型来决定应该执行的操作,通常是在Bowser中下载或打开。

例如,它遇到一个zip文件,它将打开文件保存对话框,并允许您保存文件。

并且,例如,如果您从网络服务器提供的浏览器中请求一个.asp,浏览器将使用MIME类型来决定要采取的操作,该操作将在浏览器中显示。

MIME类型将在http headers中发送,当您打开离线.asp页时,不会将其发送到浏览器。

因此,如果您可以将.asp的MIME类型更改为“ text / html”,则应在浏览器中将其打开。

不幸的是,在Chrome中似乎没有用于更改MIME类型/操作的选项。

您可以在Firefox中的“工具”>“选项”>“内容”>“文件类型”>“管理”中change这些设置。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9xZm9kOC5wbmcifQ==” alt =“在此处输入图像描述”>


3
投票

Chromium对本地文件使用系统mime类型。在Linux上,您可以在xdg-open配置中对其进行更改:

$ mkdir -p ~/.local/share/mime/packages
$ cd ~/.local/share/mime/packages
$ touch application-x-asp.xml

然后编辑~/.local/share/mime/packages/application-x-asp.xml

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="text/html">
        <comment>Active Server Page</comment>
        <icon name="text-html"/>
        <glob-deleteall/>
        <glob pattern="*.asp"/>
    </mime-type>
</mime-info>

将哑剧类型设置为text/html。最后,您必须再次注销/登录,或者只是运行:

$ update-desktop-database ~/.local/share/applications
$ update-mime-database    ~/.local/share/mime

2
投票

[有一种方法可以在Firefox中以HTML格式打开本地.asp文件。

找到您的Firefox profile folder。在Windows 7上,我在这里找到它:

C:\ Users \ user \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ 738xdie.default \ mimeTypes.rdf

然后将这些行添加到mimeTypes.rdf

<RDF:Description RDF:about="urn:mimetype:text/html"
    NC:fileExtensions="asp"
    NC:description="ASP Pages"
    NC:value="text/html"
    NC:editable="true">
</RDF:Description>

重新启动浏览器。您的本地文件现在将呈现为HTML。

Chrome可能有类似的技术。


0
投票

我想您想直接查看下载的页面,而不是通过某些本地Web服务器。然后,我建议根据下载文件扩展名中响应标题中报告的内容类型来更改(或附加)文件扩展名。当然,这将需要将所有链接调整为其他文件中更改的文件名。另一种方法是将每个页面的内容类型存储在元数据库中,并使用本地Web服务器根据文件的实际类型(而不是文件扩展名)从文件中提供文件。


0
投票

我有两种解决方案。第一个是使用firefox打开这些文件。就是这样。如果您坚持要用chrome打开它们。您必须将所有文件扩展名更改为html而不是asp。使用某些程序进行重命名。但是页面之间的链接将断开。因此,您必须找到所有页面都使用的js文件,并在其中添加此代码以修复链接。

document.body.addEventListener('click',function(e){
if(e.target.nodeName=='A'){
e.preventDefault()
href=e.target.href.split('/')
href[href.length-1]=href[href.length-1].replace('.asp','.html')
href=href.join('/')
parent.location=href
}
})

})
© www.soinside.com 2019 - 2024. All rights reserved.