2014-03-06 85 views
2

我獲得兩個控制檯的警告在Chrome:腳本被解釋爲樣式表,但使用MIME類型text/html轉

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://domain/". domain/:11 
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://domain/". domain/:11 

第11行,我有:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> 

這裏的所有的用於頭部部分中的代碼:

<head> 
<meta charset="UTF-8"> 
<title>Laoautod</title> 

<meta http-equiv = "Content-Type" content="text/html; charset=utf-8"> 
<link rel="stylesheet" type="text/css" href="css/base.css"> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> 
<script type="text/javascript" src="js/center.js"></script> 
<script type="text/javascript"> 
    function displayResult() 
        { 
     var x=document.getElementById("checkbox").defaultChecked; 
     alert(x); 
        } 
</script> 
<script type="text/javascript"> 

    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'accountID']); 
    _gaq.push(['_trackPageview']); 

    (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 

</script> 
</head> 

的HTML代碼是index.php文件內,所以我在b加入header('Content-type: text/css');例如頁面腳本。我還在.htaccess文件中包含了AddCharset utf-8 .css .jsAddType text/css .css,但沒有運氣放鬆警告。

究竟是什麼導致了這一點,你如何擺脫警告?

+1

你有相對包括在你的base.css? – avarx

+0

@ava,是的,我在樣式表中有相對包含,base.css也只是'@ import'其餘的樣式表。 – Laniakea

+0

試試絕對路徑。只是爲了確定它是這個問題。 – avarx

回答

1

好的,我發現了這個問題。

我得到警告的原因是因爲我在base.css中使用@import來引入不在它們位置的腳本。準確地說,我錯過了2個腳本,所以推測這就是我得到2個警告的原因。

1

需要注意的是:

實質上,當每個請求包括 那些用於靜態內容的請求都被驗證時,也可能導致問題。

在我的情況下,我的應用程序是彈簧啓動應用程序。所以我只是在我的安全配置文件中添加了排除項目,以查看有關文件的路徑...

注 - 此解決方案基於SpringBoot ...你可能需要做的可能會有所不同根據您所使用的編程語言和/或你正在使用什麼框架

所以我們說一些路徑,以我的靜態內容進行了哪些導致的錯誤如下:

稱爲路徑 「插件」

http://localhost:8080/plugins/styles/css/file-1.css

http://localhost:8080/plugins/styles/css/file-2.css

http://localhost:8080/plugins/js/script-file.js

和稱爲路徑 「頁面」

http://localhost:8080/pages/styles/css/style-1.css

http://localhost:8080/pages/styles/css/style-2.css

http://localhost:8080/pages/js/scripts.js

然後我剛纔添加的排除在我的春節,啓動安全配置如下:

@Configuration 
@EnableGlobalMethodSecurity(prePostEnabled = true) 
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER) 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 

    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http.authorizeRequests() 
      .antMatchers(<comma separated list of other permitted paths>, "/plugins/**", "/pages/**").permitAll() 
      // other antMatchers can follow here 
    } 

} 


扣除這些路徑"/plugins/**""/pages/**"從認證所犯的錯誤消失。


乾杯!

相關問題