javascript - Lưu trữ ASP.Net với HTML5 JS và Twitter Bootstrap định dạng khác nhau
Trong môi trường phát triển của tôi, mọi thứ đều hiển thị hoàn hảo, tôi có một biểu đồ tròn sử dụng canvas và hoạt ảnh, điều này hiển thị tốt khi lưu trữ qua trình duyệt.
Tôi cũng đang sử dụng Twitter Bootstrap và có một thanh điều hướng ở đầu trang, trong đó có hai mục.
Dưới đây là một vài ví dụ:
Trong môi trường phát triển
https://i.sstatic.net/TtC5J.png
Lưu trữ trên IIS
https://i.sstatic.net/DNLkg.png
Sau khi loại bỏ phiên bản IIS, lỗi vẫn không thay đổi, bạn cũng có thể nhận thấy các góc bo của nút không hoàn toàn giống nhau.
Chúng tôi đang lưu trữ trên IIS6 với cài đặt mặc định nên tự hỏi liệu có cần làm gì trên trang web để tích hợp điều này đúng cách không? Tôi không đăng ký .LESS ở bất cứ đâu, tôi nghĩ vậy nên không chắc liệu đó có phải là nguyên nhân gây ra vấn đề này không.
Cảm ơn trước.
Câu trả lời #1
Bạn cần thiết lập thẻ meta X-UA-Compatible để khắc phục vấn đề này. Thêm thẻ meta sau vào phần header trong trang web của bạn và vấn đề sẽ được giải quyết
Điều này sẽ đảm bảo rằng nó sẽ trông giống nhau trong phát triển và trong IIS. (sử dụng cùng trình duyệt)
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
Bạn cũng có thể thêm chỉ thị sau vào web.config của mình để thêm một header tùy chỉnh cho toàn ứng dụng thay vì chỉ thêm thẻ meta cho từng trang.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Hành vi này xảy ra vì IE mặc định hiển thị các trang nội bộ trong chế độ tương thích. (bởi vì Microsoft nghĩ rằng nhiều trang nội bộ đã lỗi thời, tôi đoán vậy) Bạn có thể thay đổi điều này bằng cách vào Công cụ -> Cài đặt Chế độ Tương thích.
Tài liệu tham khảo :
- http://weblogs.asp.net/rajbk/archive/2010/05/12/pages-in-ie-render-differently-when-served-through-the-asp-net-development-server-and-production-server.aspx
- http://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx
Câu trả lời #2
Nghe có vẻ bạn đang sử dụng LESS, đúng không? Nếu đúng, như bạn đã đề cập, bạn cần thiết lập nó trong IIS để sử dụng twitter boostrap nếu bạn đang sử dụng những tính năng yêu cầu LESS.
Tôi đã gặp các vấn đề tương tự với IIS và đã làm cho nó nhận diện đúng các phần mở rộng tệp khi chúng không phải là mặc định trong IIS.
Có khả năng localhost của bạn không bảo vệ nghiêm ngặt về ánh xạ tệp hoặc bạn đang sử dụng một phiên bản IIS khác với IIS6 trên máy cục bộ và nó đã cho phép phần mở rộng .less.
Để khắc phục điều này, bạn cần thêm phần mở rộng/ánh xạ vào IIS6.
Phiên bản ngắn
- Mở thuộc tính ứng dụng web
- Nhấp vào Cấu hình...
- Trong tab Mappings, nhấp vào Add
- Thực thi: Nhập cùng một giá trị đã được thiết lập cho phần mở rộng ASPX dưới tab Ánh xạ
- Phần mở rộng: .less
- Động từ: Kiểm tra: Giới hạn tới, Nhập: GET, HEAD
- Bộ công cụ kịch bản: Đã kiểm tra
- Xác minh rằng tệp tồn tại: Chưa được kiểm tra
Phiên bản đồ họa nếu nó giúp ai đó: Đây là một liên kết kèm chi tiết mà tôi đã sao chép bên dưới trong trường hợp nó biến mất.
http://wiki.uiowa.edu/display/~mbergal/2012/06/08/Configuring+IIS+6+to+support+dotlesscss+(LESS+CSS)
Đi tới thuộc tính của trang web.
Mở cấu hình
Thêm tiện ích mở rộng



