Nếu bạn đang cố gắng để thêm tính năng này để kiểm soát trình duyệt trong-ap, tôi có thể gợi ý cho bạn một cách:
Bạn phải tiêm một tập lệnh java trên mọi trang web để kiểm soát trình duyệt có thể tải trang thành công. thông báo để gọi hàm ScriptNotify
trong mã của bạn phía sau. Khi phát hiện thông báo thích hợp, hãy tạo một phiên bản điều khiển trình duyệt mới và thêm nó vào một mảng hoặc danh sách. Qua đó bạn có thể mô phỏng tính năng tab mới cho điều khiển trình duyệt trong ứng dụng.
mã JS để được tiêm có thể như thế này String NEW_TAB_FUNCTION = "window.open = function(__msg){window.external.notify('addnewtab');};";
Mà có thể được tiêm sử dụng browser.InvokeScript("eval", NEW_TAB_FUNCTION);
Trong ScriptNotify séc addnewtab
(giữ IsScriptEnabled = True
)
void WebBrowser_ScriptNotify(object sender, NotifyEventArgs e)
{
if (e.Value == "addnewtab")
{
//do work here
}
}
Lưu ý rằng tôi đã ghi đè hàm window.open trong JS với một hàm sẽ được tiêm mỗi lần trên một trang web mới để nhận thông báo về đầu vào của người dùng.
Cũng lưu ý rằng thao tác này chỉ áp dụng cho Kiểm soát trình duyệt web chứ không phải trình duyệt bên ngoài.
Nguồn
2012-09-05 04:15:00
Trong cài đặt trình duyệt, có tùy chọn 'Mở liên kết trong tab mới'. Tôi nghi ngờ rằng có thể được overriden bởi các ứng dụng. – Osiris