我正在尝试使用iPad的grails 1.3.7创建一个Web应用程序,并使用缓存 list 将数据离线保存。我的脱机数据在Chrome中工作得很好,但是在Safari,iPad和Mozilla中,它给出了一个错误,提示应用程序缓存 list 的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。
最佳答案
嘿,我找到了解决方案,我发现没有在grails中设置mime类型....在grails中设置mime类型时,应该采用一种不同的方式(但是我仍然想知道为什么chrome在没有mime类型的情况下仍然可以工作)... .........要在grails中设置mime类型,我们必须创建一个web.xml并向其中添加以下代码...
<mime-mapping>
<extension>manifest</extension>
<mime-type>text/cache-manifest</mime-type>
</mime-mapping>
但是在grails中,仅在建立 war 时才创建web.xml。因此,要创建可与原始web.xml合并的web.xml,请执行以下操作
在命令行中输入
grails install-templates
现在在您的项目文件夹中创建src / templates / war。在war文件夹中,创建web.xml并添加所需的代码...希望这会有所帮助