【问题标题】:Html5 Mime type error in grailsgrails中的Html5 Mime类型错误
【发布时间】:2012-05-02 14:44:06
【问题描述】:

我正在尝试使用适用于 iPad 的 grails 1.3.7 创建一个 Web 应用程序,并使用缓存清单来离线保存数据。我的离线数据在 Chrome 中运行得非常好,但在 Safari、iPad 和 Mozilla 中却出现错误,提示应用程序缓存清单的 MIME 类型不正确:text/plain。我在Config.groovy 中设置了 MIME 类型,如下所示:

grails.mime.types = [ html: ['text/html','application/xhtml+xml'],
                      xml: ['text/xml', 'application/xml'],
                      text: 'text/plain',
                      js: 'text/javascript',
                      rss: 'application/rss+xml',
                      atom: 'application/atom+xml',    
                      css: 'text/css',
                      csv: 'text/csv',
                      all: '*/*',
                      json: ['application/json','text/json'],
                      form: 'application/x-www-form-urlencoded',
                      multipartForm: 'multipart/form-data',
                      manifest: 'text/cache-manifest' 
                    ]        

但其他浏览器仍然不接受它。我真的很困惑这是一个 html5 问题还是 grails。它适用于 chrome。

【问题讨论】:

  • 您是否使用过 chrome 中的检查器来确认正在发送正确的 MIME 类型标头?
  • 是的,我已经在 chrome 检查器中看到,每件事都在 chrome 中运行良好.......在 chrome 缓存中,每个 satuts 都会显示
  • 您已经说过 Chrome 中一切正常,我不是在询问缓存状态,我是在询问您是否查看了响应中的标题以确认正在发送正确的标题

标签: html grails cache-manifest


【解决方案1】:

嘿,我得到了解决方案,我发现 grails 中没有设置 mime 类型.... ............要在 grails 中设置 mime 类型,我们必须创建一个 web.xml 并向其中添加以下代码......

<mime-mapping>
    <extension>manifest</extension>
    <mime-type>text/cache-manifest</mime-type>
</mime-mapping>

但在 grails 中,web.xml 仅在构建战争时创建....所以要创建一个可以与原始 web.xml 合并的 web.xml,请执行以下操作

在命令行输入

grails install-templates

现在在您的项目文件夹中创建了 src/templates/war。在 war 文件夹中创建 web.xml 并添加您需要的代码...希望这会有所帮助

【讨论】:

  • 仅供参考:清单文件的 recommended 扩展名是“.appcache”而不是“.manifest”。
【解决方案2】:

除了修改 web.xml 文件,您还可以通过 HTTPResponse 对象直接从控制器操作中简单地设置 HTTP 内容类型标头:

response.contentType = "text/cache-manifest"

Config.groovy 中的 grails.mime.types 块在 content negotiation 期间使用,使您可以更轻松地根据入站 Accepts 标头向请求发回不同的响应。

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 2011-09-05
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 2016-09-26
    • 2019-02-13
    相关资源
    最近更新 更多