我想禁用所有 js 警报。此代码无法正常工作 gecko 45
geckoWebBrowser1.JavascriptError += (sender, error) => {
GeckoWebBrowser browser = geckoWebBrowser1;
string text = "window.alert = function(){};";
using (AutoJSContext context = new AutoJSContext(browser.Window.JSContext)) {
string result;
//toolStripLabel1.Text = "was is loaded?";
context.EvaluateScript(text, (nsISupports)browser.Window.DomWindow, out result);
}
};
最佳答案
如果您想禁用所有警报,那么您需要实现自己的 nsIPromptService2,您将在其中覆盖警报发生时调用的方法。
public class FilteredPromptService : nsIPromptService2, nsIPrompt
{
public void Alert(string dialogTitle, string text)
{
//do nothing,
}
//and so on for other alerts/prompts
}
请记住,您还需要在初始化引擎后通过调用进行注册:
PromptFactory.PromptServiceCreator = () => new FilteredPromptService();
关于javascript - 禁用 JavaScript 警报 Gecko45 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44187530/