2016-11-21 21 views
27

Tôi đang phát triển một trang web bằng JavaScript và HTML, mọi thứ đều hoạt động tốt khi tôi nhận được danh sách lỗi này từ trang HTML của mình:Tài nguyên bị chặn do loại MIME không khớp (X-Content-Type-Options: nosniff)

The resource from “https://raw.githubusercontent.com/dataarts/dat.gui/master/build/dat.gui.min.js” 
    was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff). 
The resource from “https://raw.githubusercontent.com/mrdoob/three.js/dev/build/three.js” was 
    blocked due to MIME type mismatch (X-Content-Type-Options: nosniff). 
The resource from “https://raw.githubusercontent.com/mrdoob/three.js/master/examples/js/renderers/CanvasRenderer.js” 
    was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff). 
The resource from “https://raw.githubusercontent.com/mrdoob/three.js/master/examples/js/renderers/Projector.js” 
    was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff). 
The resource from “https://raw.githubusercontent.com/mrdoob/three.js/dev/build/three.js” was 
    blocked due to MIME type mismatch (X-Content-Type-Options: nosniff). 

những lỗi này xuất hiện sau khi một bản cập nhật trình duyệt tự động (Mozilla Firefox), có thể được một cái gì đó đã được thay đổi trong thiết lập. Bạn có biết cách nào để giải quyết vấn đề này ?

+5

Không tải tệp từ GitHub. Thay vào đó, hãy sử dụng CDN. – SLaks

Trả lời

12

này có thể được cố định bằng cách thay đổi URL của bạn, ví dụ xấu:

https://raw.githubusercontent.com/svnpenn/bm/master/yt-dl/yt-dl.js 
Content-Type: text/plain; charset=utf-8 

Ví dụ tốt:

https://cdn.rawgit.com/svnpenn/bm/master/yt-dl/yt-dl.js 
content-type: application/javascript;charset=utf-8 

rawgit.com là một dịch vụ proxy caching cho github. Bạn cũng có thể đến đó và tương tác lấy được URL tương ứng cho URL raw.githubusercontent.com ban đầu ban đầu của mình. Xem FAQ

+12

Tôi không hiểu những gì làm cho ví dụ tốt của bạn tốt. – Pup

+1

Trong phần bổ sung 'raw.githubusercontent.com' được thay thế bởi 'cdn.rawgit.com' sẽ trả lời với kiểu mime chính xác. –

26

Kiểm tra nó nếu đường dẫn tập tin là đúng và tập tin tồn tại - trong trường hợp của tôi đó là vấn đề - như tôi đã cố định nó, lỗi biến mất

+0

Tôi cũng phải đối mặt với cùng một vấn đề và tệp cũng không có trong thư mục pub. Tôi nên làm gì? Tệp chủ đề tùy chỉnh của nó. –

+0

@SaiidatRLTSquare nếu tệp không tồn tại, bạn nên tìm từ đâu đó và đặt ở đó - hoặc nếu tệp đó không quan trọng - chỉ cần xóa dòng có chứa nó (hoặc tạo tệp trống) để nó không đưa ra lỗi – dav

2

này có thể là do trình duyệt không thể truy cập vào một tập tin. Tôi tình cờ gặp phải loại lỗi này khi tạo ứng dụng với node.js. Bạn có thể thử trực tiếp yêu cầu tệp tập lệnh (sao chép và dán url) và xem bạn có thể truy xuất nó hay không. Bạn có thể thấy sau đó vấn đề thực sự là gì. Nó có thể là do sự cho phép của thư mục trong đó tập tin được đặt, hoặc trình duyệt chỉ không thể tìm thấy nó do đường dẫn không chính xác đến nó. Trong node.js, sau khi chỉ định tuyến đường đến tệp, tất cả đều hoạt động.

+0

Theo [ trang MS này] (https://msdn.microsoft.com/en-us/library/gg622941 (v = vs.85) .aspx) nó có vẻ là một vấn đề kiểu MIME. ** Nhưng làm thế nào để chỉ định kiểu 'MIME' trong Node.js? ** (Người ta không phải chỉ định đường dẫn đầy đủ cho tất cả các tệp, nhưng chỉ với các thư mục nội dung, không?) – not2qubit

2

Tôi đã giải quyết vấn đề này bằng cách thay đổi charset trong js-file từ UTF-8 mà không BOM để đơn giản UTF-8 trong Notepad ++

2

Trong trường hợp của tôi tôi chỉ cần bỏ qua các dấu gạch chéo "/" sau get_template_directory_uri() để dẫn/path tạo đã sai:

sai mã của tôi:

wp_enqueue_script('retina-js', get_template_directory_uri().'js/retina.min.js'); 

mã Corrected của tôi:

wp_enqueue_script('retina-js', get_template_directory_uri().'/js/retina.min.js'); 
4

kiểm tra đường dẫn của bạn, lỗi này sẽ đến nếu tệp không tồn tại trong đường dẫn nhất định.

1

Bạn đang sử dụng nhanh?

Kiểm tra đường dẫn của bạn (chú ý "/" sau/public /):

app.use(express.static(__dirname + "/public/")); 

// lưu ý: bạn không cần "/" trước khi "css" vì nó đã bao gồm trên:

rel="stylesheet" href="css/style.css 

Hy vọng điều này sẽ giúp

Các vấn đề liên quan