(原)用WebBrowser浏览Office Web Apps Server,除去“下载”按钮
对,没错,如果你按关键字找到这篇随笔了,相信一定知道背景,以及我所说的是什么。
上一段子代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | private void timerHideButton_Tick( object sender, EventArgs e) { try { HtmlDocument htmlDoc = webBrowser.Document; if (webBrowser.Document != null ) htmlDoc = webBrowser.Document.Window.Frames[ "wacframe" ].Document; if (htmlDoc == null ) return ; var toolBar = htmlDoc.GetElementById( "PptUpperToolbar.LeftButtonDock" ); //PPT、PPTX if (toolBar == null ) toolBar = htmlDoc.GetElementById( "stripLeft" ); //DOC、DOCX、PDF if (toolBar == null ) toolBar = htmlDoc.GetElementById( "m_excelWebRenderer_ewaCtl_stripLeft" ); //XLS、XLSX if (toolBar != null ) { toolBar.InnerHtml = "" ; timerHideButton.Enabled = false ; } } catch (Exception ex) { Console.WriteLine(ex.Message); } } |
张三问了:还用个Timer,不科学,你应该把代码放到
webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e);
回答:原先我也是这么想的,但是、可是因为 iframe 的原因,Completed事件可能会被激活多次,并且直到最后一次也不能准确得到预期结果。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步