Phương pháp sau đây đăng ký một ứng dụng cho một sơ đồ URI. Vì vậy, bạn có thể sử dụng mycustproto: trong mã HTML của mình để kích hoạt ứng dụng cục bộ. Nó hoạt động trên phiên bản Google Chrome phiên bản 51.0.2704.79 m (64 bit).
Tôi chủ yếu sử dụng phương pháp này để in tài liệu một cách im lặng mà không có hộp thoại in bật lên. Kết quả là khá tốt và là một giải pháp liền mạch để tích hợp ứng dụng bên ngoài với trình duyệt.
HTML code (đơn giản):
<a href="mycustproto:Hello World">Click Me</a>
HTML (thay thế):
<input id="DealerName" />
<button id="PrintBtn"></button>
$('#PrintBtn').on('click', function(event){
event.preventDefault();
window.location.href = 'mycustproto:dealer ' + $('#DealerName').val();
});
URI Scheme sẽ trông như thế này:
Bạn có thể tạo lược đồ URI theo cách thủ công trong registry hoặc chạy "mycustpro to.reg "tệp (xem bên dưới).
HKEY_CURRENT_USER\Software\Classes
mycustproto
(Default) = "URL:MyCustProto Protocol"
URL Protocol = ""
DefaultIcon
(Default) = "myprogram.exe,1"
shell
open
command
(Default) = "C:\Program Files\MyProgram\myprogram.exe" "%1"
dụ mycustproto.reg:
C# console ứng dụng - myprogram.exe:
using System;
using System.Collections.Generic;
using System.Text;
namespace myprogram
{
class Program
{
static string ProcessInput(string s)
{
// TODO Verify and validate the input
// string as appropriate for your application.
return s;
}
static void Main(string[] args)
{
Console.WriteLine("Raw command-line: \n\t" + Environment.CommandLine);
Console.WriteLine("\n\nArguments:\n");
foreach (string s in args)
{
Console.WriteLine("\t" + ProcessInput(s));
}
Console.WriteLine("\nPress any key to continue...");
Console.ReadKey();
}
}
}
Cố gắng chạy chương trình đầu tiên để đảm bảo chương trình đã được đặt đúng đường dẫn:
cmd> "C:\Program Files\MyProgram\myprogram.exe" "mycustproto:Hello World"
Nhấp vào liên kết trên trang HTML của bạn:
Bạn sẽ thấy một cửa sổ cảnh báo popup để lần đầu tiên.
Để thiết lập lại giao thức xử lý bên ngoài thiết lập trong Chrome:
Nếu bạn đã từng chấp nhận giao thức tùy chỉnh trong Chrome và muốn thiết lập lại các thiết lập, thực hiện điều này (hiện tại, có không có giao diện người dùng trong Chrome để thay đổi các thiết lập):
chỉnh sửa "Nhà nước địa phương" tập tin này dưới con đường này:
C:\Users\Username\AppData\Local\Google\Chrome\User Data\
hoặc Chỉ cần vào:
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\
Sau đó, tìm kiếm chuỗi này: protocol_handler
Bạn sẽ thấy giao thức tùy chỉnh từ đó.
Lưu ý: Vui lòng đóng Google Chrome của bạn trước khi chỉnh sửa tệp. Nếu không, thay đổi bạn đã thực hiện sẽ bị Chrome ghi đè.
tham khảo:
https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
Tôi không nghĩ rằng Chrome hiện hỗ trợ này, nó có một bộ thay vì hạn chế về các API có sẵn cho phần mở rộng. –