簡體   English   中英

我可以在Windows窗體托管的瀏覽器控件中檢測到jscript window.close事件嗎?

[英]Can I detect a jscript window.close event in a browser control hosted in a Windows form?

我的客戶要求在用戶登錄時顯示“啟動”屏幕。 當前,我的客戶端使用Windows應用程序實例化System.Windows.Forms.WebBrowser類來承載網頁,但是由於各種原因,這是不合適的。

我的客戶要求我創建一個無鉻模式Windows窗體,該窗體將包含一個將托管網頁的瀏覽器控件。 此頁面包含一條消息和兩個按鈕:“是”(導航到另一個URL)和“否”(關閉瀏覽器)。

在當前(效果不理想)的情況下,“否”按鈕調用一個JavaScript函數,其中包括

window.close();

目前,這可以正常工作,但是很顯然,如果網頁(在新版本中)托管在Windows窗體內的瀏覽器控件中,則window.close不會自動冒泡到Windows窗體。

那么,Windows窗體是否可以“檢測”瀏覽器控件中發生的window.close事件?

我希望上述內容清楚。

非常感謝

愛德華

而不是調用window.close從javascript調用您的外部C#函數,像這樣

window.external.CloseWindow

並將您的對象設置為腳本

webBrowser1.ObjectForScripting = this;

您的C#類應具有CloseWindow函數

或覆蓋window.close之類的

window.close=function() { window.external.CloseWindow(); }

感謝大家。

Sudhakar B的答案更加詳盡。 我必須添加

   [System.Runtime.InteropServices.ComVisibleAttribute(true)]

裝飾班級。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM