Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在浏览器中查看扩展名为.asp的本地html文件_Html_Google Chrome_View_Asp Classic_Offline - Fatal编程技术网

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

在浏览器中查看扩展名为.asp的本地html文件,html,google-chrome,view,asp-classic,offline,Html,Google Chrome,View,Asp Classic,Offline,您好,我已经爬网了一个网站进行离线查看,但是很多页面都被下载并保存为.asp,并且有指向这些页面的链接。但当我在Chrome浏览器中打开这些扩展名为.asp的html页面时,Chrome将下载该页面而不是呈现该页面。有没有办法将chrome设置为呈现页面而不是下载页面 谢谢我想您希望直接查看下载的页面,而不是通过某个本地web服务器。然后,我建议在下载过程中根据响应头中报告的内容类型更改(或附加)文件扩展名。当然,这需要调整其他文件中更改文件名的所有链接。另一种方法是将每个页面的内容类型存储在一

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


谢谢

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

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

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

例如,如果您从浏览器请求.asp,而该浏览器由web服务器提供服务,则浏览器将使用MIME类型来决定要执行的操作,以及要在浏览器中显示的操作

MIME类型将在http中发送,当您打开脱机.asp页面时,该类型不会发送到浏览器

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

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

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


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

找到你的Firefox。在Windows 7上,我在此处找到它:

C:\Users\user\AppData\Roaming\Mozilla\Firefox\Profiles\738xdie.default\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>
然后将这些行添加到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


铬也可能有类似的技术

Chromium对本地文件使用系统mime类型。在Linux上,您可以在配置中更改它:

$ 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>

我有两个解决方案。第一个是用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
}
})

})