草庐IT

c# - 拖放到托管的浏览器控件

我有一个在.NET2上编写的WinForms程序,它托管一个网络浏览器控件并从已知服务器呈现asp.net页面。我希望能够将我的winforms应用程序中的TreeView中的树节点拖到托管网页中的特定位置,并让它在那里触发javascript事件。目前,我可以实现IDocHostUIHandler接口(interface)并在浏览器控件上获取拖放事件,然后调用Navigate("javascript:fire_event(...)")控制在页面上执行脚本。但是,我希望它仅在我将数据放在页面的特定部分时起作用。我想,一个解决方案是咬紧牙关,以activex控件的形式编写一个自定义浏览器

c# - 清除 Web 浏览器控制所有站点的 cookie,而不清除 IE 本身

编辑:据我所知,这个问题没有解决方案,这再次证明了不应使用C#的WebBrowser这一事实。我们在程序开始时以警告标志告终,通知用户将针对IE清除cookie。我正在尝试做的简短版本在标题中。这是长版。我有一个有点复杂的问题,我相信我会收到很多猜测作为回应。为了将善意但不幸的是无用的猜测降到最低,让我首先提到这个问题的解决方案并不简单,所以不幸的是简单的建议根本没有帮助,即使我很感激你所做的努力。.NETWebBrowser组件基本上是IE本身,因此带有任何警告的解决方案几乎肯定不会起作用。我需要做我想做的事情,即使是一个看似微不足道的警告也会完全打败我的目的。冒着听起来傲慢的风险,

c# - 如何在不影响 SYSTEM/IE 代理的情况下为 Webbrowser Control 设置代理

如何在不为IE设置代理的情况下为WebbrowserControl设置代理?基本上我希望我的应用程序使用某个代理,但是显然我不想更改用户的IE代理设置。 最佳答案 试试UrlMkSetSessionOptionINTERNET_OPTION_PROXY和UrlMkSetSessionOptionINTERNET_OPTION_REFRESH如果您的代理有密码身份验证,您可能需要在WebBrowserSiteBase派生类中实现IAuthenticate(Ex)。 关于c#-如何在不影响S

c# - 如何单击 Web 浏览器控件中的按钮?

例如,在没有用户输入的情况下使用代码,我如何让我的程序点击google上的“搜索”按钮(假设我已经填写了搜索框并且在google.com) 最佳答案 webBrowser1.Navigate("http://www.google.com");如果您有ID,请使用:webBrowser1.Document.GetElementById("id").InvokeMember("click");如果你有TagName使用这个webBrowser1.Navigate("http://www.google.com");在Web浏览器Docum

C# 如何通过 WebBrowser 自动点击按钮

我的点击页面的Html代码是:我试过这个点击代码:webBrowser1.Document.GetElementById("publishButton-ns").InvokeMember("click");但这没有找到按钮。 最佳答案 这可能对你有帮助。HtmlElementCollectionelc=this.webBrowser1.Document.GetElementsByTagName("input");foreach(HtmlElementelinelc){if(el.GetAttribute("type").Equals

javascript - 在浏览器中切换到其他打开的选项卡时更改标题标签的内容

我最近在两个不同的网站上看到了这个,有人知道它是怎么做到的吗?如果您打开了多个选项卡,而您离开了当前选项卡,则选项卡中的标题会更改。非常好的技巧!http://blog.invisionapp.com/http://zerosixthree.se/create-a-responsive-header-video-with-graceful-degradation/ 最佳答案 这通过在window的onfocus和onblur事件上注册处理程序来实现。jQuery风格:$(window).on('blur',function(){..

javascript - setTimeout 是 JavaScript 本身的一部分还是它只是浏览器提供的一个 API?

setTimeout是JavaScript本身的一部分还是它只是浏览器提供的一个API?它是ES的一部分吗? 最佳答案 setTimeout()函数实际上由浏览器的window对象公开,因此它们不一定在ECMAScript规范中定义,因为它们不是JavaScript功能,它们是浏览器本身的功能。您可以从之前链接的文档中的规范部分看到它使用了WHATWGHTMLLivingStandard:与split()这样的Javascript函数相反明确使用EMACScript: 关于javascr

javascript - 类型错误 : [API] is undefined in content script or Why can't I do this in a content script?

我试图在Firefox中编写一个简单的扩展,其中我修改了X-Frame-Allowheader。我简要地查看了文档,发现它们支持webRequest.onHeadersReceived.addListener()。但是,我无法在收到header时运行我的代码。list.json{"manifest_version":2,"name":"xframeoptions","version":"1.0","description":"SetX-Frame-OptionstoALLOW","icons":{"48":"icons/icon.png"},"permissions":["webReq

javascript - jquery 中 DOM 元素的手动垃圾收集是否完全提高了浏览器性能?

考虑到性能范围,删除不再需要的元素是否有意义?或者浏览器是否对代码中未进一步引用的dom元素执行自动垃圾回收?$('some_element').fadeOut(1000,function(el){$(el).remove();// 最佳答案 这段代码:$('some_element').remove();告诉浏览器您已完成该元素,DOM中不再需要它。如果您的javascript中没有对该元素的任何其他引用,垃圾收集器将释放它使用的内存。如果您不删除它,那么只要该网页显示,DOM元素就会保留在您的网页中。它永远不会被垃圾收集,因为浏

javascript - JS Hashchange 事件的 msie 问题

我正在尝试使用AJAX加载我的基于wordpress的网站,遵循此Tutorial.所有代码对我来说都有意义,但他们使用的是一个名为JSHashchangeEvent的插件.我遇到的问题是它部分使用了$.browser.msie所以当我用jQuery1.9运行它时我得到一个UncaughtTypeError:Cannotreadproperty'msie'ofundefined错误。我尝试添加js迁移插件,但它没有用。我读到我可以添加这段代码jQuery.browser={};(function(){jQuery.browser.msie=false;jQuery.browser.ve