Tôi muốn hiển thị tệp trợ giúp đã chọn của người dùng khi nhấn F1. Điều này sẽ hoạt động trên mọi trình duyệt mà tôi kiểm tra ứng dụng của mình. Làm cách nào để ngăn tệp trợ giúp mặc định hiển thị?Internet Explorer hoặc bất kỳ phím nào của Trình duyệt F1 hiển thị trợ giúp của riêng bạn
Trả lời
AFAIK, hành động mặc định của phím F1 có thể được thay đổi trong bất kỳ trình duyệt nào ngoại trừ IE. Các nhóm Microsoft thường là người gắn bó để duy trì trải nghiệm người dùng nhất quán trên các ứng dụng của họ và đó là lý do tại sao F1 mở trợ giúp bất kể trả lại false. Điều đó đang được nói, có một giải pháp thay thế theo hình thức của sự kiện window.onhelp.
// Internet Explorer
if ("onhelp" in window)
window.onhelp = function() {
showMyHelpInsteadOfTheUsualDefaultHelpWindow(true);
return false;
}
// Others
else {
document.onkeydown = function(evt) {
cancelKeypress = (evt.keyCode == 112);
if (cancelKeypress) { // F1 was pressed
showMyHelpInsteadOfTheUsualDefaultHelpWindow(true);
return false;
}
}
// Additional step required for Opera
document.onkeypress = function(evt) {
if (cancelKeypress)
return false;
}
}
"Khác" bước được chuyển thể từ một câu trả lời bị xóa, được chuyển thể từ another answer đó, lần lượt, được chuyển thể từ another answer.
Ôi không, họ cố gắng ngăn chặn mangling trải nghiệm người dùng bình thường (không phải là điều xấu, IMHO), nhưng họ cung cấp chức năng khác (dễ dàng hơn) để có thể thực hiện chính xác điều đó? –
@Marcel: Tôi đã nói sai. Sự kiện * onhelp * được cố ý cung cấp để thay thế trợ giúp mặc định, nhưng nó cũng cố ý rằng phím F1 không thể bị hủy bỏ. Lạ thật, tôi biết. –
Trên thực tế, bạn có thể hủy Trợ giúp mẹ đẻ trong IE, bằng cách thiết lập event.keyCode
để 0
:
Tested trong IE8 & Chrome
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var cancelKeypress = false;
// Need to cancel event (only applies to IE)
if ("onhelp" in window) {
// (jQuery cannot bind "onhelp" event)
window.onhelp = function() {
return false;
};
}
$(document).keydown(function (evt) {
// F1 pressed
if (evt.keyCode === 112) {
if (window.event) {
// Write back to IE's event object
window.event.keyCode = 0;
}
cancelKeypress = true;
// Trigger custom help here
alert("My help");
return false;
}
});
// Needed for Opera (as in Andy E's answer)
$(document).keypress(function (evt) {
if (cancelKeypress) {
cancelKeypress = false; // Only this keypress
return false;
}
});
});
</script>
</head>
<body>
</body>
</html>
- 1. Bất kỳ cách nào để 'hack' Internet Explorer 10 để hiển thị hình ảnh biên giới?
- 2. Internet Explorer không hiển thị Flowplayer-Video
- 3. phím tắt Disable Internet Explorer
- 4. Google Pie Chart không hiển thị trình duyệt Internet Explorer 8
- 5. Bất kỳ trình hiển thị Markdown dựa trên WPF nào?
- 6. Hiển thị ảnh Internet Explorer và Base64
- 7. Sử dụng trình trợ giúp Rails để hiển thị partials
- 8. Có bất kỳ công cụ nào để duyệt dữ liệu iCloud của ứng dụng của bạn không?
- 9. Phiên bản Internet Explorer (IE) nào nên ứng dụng web của tôi hỗ trợ
- 10. Chế độ toàn màn hình của Internet Explorer?
- 11. Bất kỳ trình trợ giúp điều hướng trang nào cho ASP.NET MVC?
- 12. Trình duyệt web nào hỗ trợ các trình duyệt web?
- 13. Tỷ lệ phần trăm thị phần nào mà trình duyệt cần để hỗ trợ của bạn?
- 14. Lỗi Internet Explorer 8 có hiển thị: bảng
- 15. internet explorer 9 không hiển thị .png favicon
- 16. Ghi đè Phím tắt của Trình duyệt
- 17. cloneNode trong internet explorer
- 18. Làm cách nào để sử dụng Trình trợ giúp HTML ValidationMessage ASP.NET MVC bên trong trình trợ giúp tùy chỉnh của riêng tôi?
- 19. Làm cách nào để hiển thị TIN TỨC trong trang trợ giúp html của gói R?
- 20. Trang trợ giúp WCF - cách vô hiệu hóa hoặc thay đổi URL hiển thị
- 21. Lỗi z-index của Internet Explorer?
- 22. Làm cách nào để viết chương trình phụ trợ của trình tạo mã của riêng bạn cho gcc?
- 23. Trình trợ giúp Groovy của Java
- 24. Tại sao XInclude không được bất kỳ trình duyệt nào hỗ trợ?
- 25. NuGet không hiển thị bất kỳ gói nào
- 26. Làm thế nào để bạn buộc Internet Explorer tải Trình gỡ lỗi nội dung Adobe Flash?
- 27. Ký tự Unicode và Internet Explorer
- 28. haskell - bất kỳ cách nào để cuộn nhóm pragmas LANGUAGE của riêng bạn?
- 29. Dừng WebBrowser khiến Internet Explorer được mở
- 30. Kiểm tra trang chủ của người dùng trong Internet Explorer
“này nên hoạt động trên mọi trình duyệt mà tôi kiểm tra ứng dụng của tôi.” → Cái nào? –
Tệp trợ giúp tôi phải mở sẽ hoạt động trên mọi trình duyệt như Mozila, IE và các trình duyệt khác. Nếu tôi nhấn F1 trên bất kỳ trình duyệt nào, tập tin trợ giúp mặc định sẽ không được hiển thị – Dotnet
Tôi giả định một câu hỏi tồn tại ... nhưng tôi dường như không thể tìm thấy một câu hỏi. – Stephen