Tôi đã triển khai StackExchange MiniProfiler trên trang ASP.NET WebForms đã tham chiếu v1.7.1 của jQuery. Các tập tin jQuery được lưu trữ tại địa phương, vì vậy masterfile của tôi trông như thế này:Tại sao MiniProfiler tải jquery-1.7.1 mặc dù tôi đã tải nó trên trang?
<script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<%= MiniProfiler.RenderIncludes() %>
Tuy nhiên, khi tôi xem nguồn gốc của sản lượng được tạo ra, tôi nhận được một cái gì đó tương tự như sau
<script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
...
load('/app/mini-profiler-resources/jquery.1.7.1.js?v=tNlJPuyuHLy/d5LQjyDuRbWKa0weCpmO3xkO6MH4TtA=', initMp);
</script>
Nhìn trong dev tab mạng của công cụ, tôi có thể thấy rằng nó đưa hai yêu cầu vào, một cho Scripts/jquery-1.7.1.min.js
và một yêu cầu khác cho /app/mini-profiler-resources/jquery.1.7.1.js
Đây có phải là vấn đề về dự phòng lớn không? Làm thế nào để dừng MiniProfiler bao gồm từ yêu cầu, tải xuống và phân tích cú pháp một bản sao khác của thư viện jQuery?
Cảm ơn bạn đã giải thích. Nó có đáng giá bao gồm một đối số 'bool = true' mặc định cho phương thức' RenderIncludes() 'để chọn tải jQuery không? Người dùng sau đó biết rằng họ đang tải phiên bản chính xác ở nơi khác trên trang, sau đó có thể gọi 'RenderIncludes (false)'. Hạnh phúc khi làm việc này nếu bạn nghĩ rằng đây là một cách tiếp cận khả thi. – growse
tiền phạt cho một bản vá, có lẽ RenderIncludes (useExistingjQuery: true) - điều này lần lượt có thể tạo ra 'jQueryMP = jQuery;' thay vì tải nó –
Trong phiên bản mới nhất, hãy làm điều này: StackExchange.Profiling.MiniProfiler.Settings.UseExistingjQuery = true; – pbz