WebBrowser控件:禁用跨站点XSS过滤或另一种在HTML上完全处理JS的方法

| 我正在尝试使用Web浏览器控件从特定页面(包括所有子页面内容)获取检索日期。问题是某些子页面位于单独的域中,因此当我尝试通过[document.windows.frames(i).document]访问框架时,出现权限指定错误。 现在,我了解了这种情况发生的原因,如http://msdn.microsoft.com/zh-cn/library/ms533028.aspx所述。但是,与浏览站点的用户不希望Javascript嗅探其历史记录/ Cookie的用户不同,我实际上是在打开程序并运行该应用程序。 即使必须手动更改安全设置,也可以采取任何措施吗?我尝试将我在IE中的所有设置转为允许,并且仍然出现相同的错误。我将只在本地运行该应用程序,并且没有人会在IE上浏览,因此我可以从字面上更改使它正常工作所需的任何内容(甚至安装较旧版本的IE可能允许它,但仍可以处理JS处理)。 请注意,我使用Web浏览器的原因是我将访问的大部分数据是JS生成的,因此在JS处理/生成HTML之后,我需要访问DOM。因此,仅使用SOCKETS来获取HTML确实不是一种选择。即使我拥有HTML,我仍然需要某种类型的引擎来基于JavaScript处理所有DOM元素。如果您知道替代方法,那也是完全可以接受的! 提前致谢!     
已邀请:
        您可以在服务器上创建代理以获取数据,然后将其从自己的域中加载到隐藏的div中,然后就可以使用JS从HTML中获取所需的数据     
        您可以创建一个动态代理页面,如下所示:
    using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.UI;

public partial class TestPage : Page
{
    private WebRequest _request;
    protected void Page_Load(object sender, EventArgs e)
    {
        string text;
        string url = Request[\"UrlToGet\"];
        _request = (HttpWebRequest)
            WebRequest.Create(url);
        using (WebResponse response = _request.GetResponse())
        {
            using (StreamReader reader =
                new StreamReader(response.GetResponseStream()))
            {
                text = reader.ReadToEnd();
            }
        }
    }
}
您需要做的就是将请求的url放在QueryString或post数据中 然后您将在字符串文本中获取页面的内容     
        在这种情况下,超文本应用程序可能是一个选项。 HTA应用程序在其基本浏览器窗口中运行,但具有可执行文件的权限。有关HTA的更多信息,请参见此页面。请注意,HTA确实为非应用程序框架和iframe提供了安全性。     

要回复问题请先登录注册