2
votes

I keep getting an error that says that the MIME type ('text/html') isn't executable or not a supported stylesheet MIME type and that strict MIME checking is enabled.

Error shown

My code that links it is

<link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">

<!-- Custom styles for this template -->
<link href="css/heroic-features.css" rel="stylesheet">

<!-- Bootstrap core JavaScript -->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

This is how the template is supposed to look

Template

However, this is what it looks like

Template

Do I need to change text/html into something else?

accepts: {
        "*": allTypes,
        text: "text/plain",
        html: "text/html",
        xml: "application/xml, text/xml",
        json: "application/json, text/javascript"
    }, 

Sinatra is telling me to do this

this

but I've tried and it doesn't work

Is there anything I should change or add to my code so that the css works?

1
Can you include the error text in the body of your question? Images, especially links to images, are problematic for some people and can't be indexed properly, meaning that other people looking for the same error can't find this question and any answers it might have.tadman
This seems to be a server-side issue, your CSS is being served up as HTML. On servers like Apache httpd this requires identifying .css files with the right MIME type (text/css).tadman

1 Answers

0
votes

I imagine you'd want text/css for your stylesheets, and application/javascript for the JS files.

According to the sinatra docs, the incoming request object can be accessed from the request level

get '/foo' do
  t = %w[text/css text/html application/javascript]
  request.accept              # ['text/html', '*/*']
  request.accept? 'text/xml'  # true
  request.preferred_type(t)   # 'text/html'
end