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

时间:2012-02-09 07:17:52

标签: html google-chrome view asp-classic offline

您好我已经抓取了一个网站以进行离线查看,但是许多页面都已下载并保存为.asp,并且有指向这些页面的链接。但是当我在Chrome浏览器中打开这些扩展名为.asp的html页面时,Chrome会下载页面而不是呈现页面。有没有办法设置chrome来呈现页面而不是下载它?

由于

5 个答案:

答案 0 :(得分:3)

Chromium使用系统mime-type作为本地文件。在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>

将mime-type设置为text/html。最后,您必须再次注销/ -in,或者只运行:

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

答案 1 :(得分:2)

当您的浏览器打开文件时,它会使用MIME类型来决定应采取的操作,通常是下载或在bowser中打开。

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

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

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

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

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

您可以在工具&gt;中的Firefox中change进行这些设置。选项&gt;内容&gt;文件类型&gt;管理..

enter image description here

答案 2 :(得分:2)

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

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

C:\用户\用户\应用程序数据\漫游\ Mozilla的\火狐\概况\ 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可能有类似的技巧。

答案 3 :(得分:0)

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

答案 4 :(得分: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
}
})

})