我有一个facebook iframe应用程序我正在尝试使用VB.NET 2010中的表单上的WebBrowser控件进行测试。每当我尝试访问我的应用程序所在的文档上的WebBrowser.Document.Window.Frames框架对象时在broswer中显示,我获得了Access Denined异常。在网上阅读,我看到有人说这是为了防止文档中的脚本访问iframe中的内容,这些内容从其他域中提取内容,如http://msdn.microsoft.com/en-us/library /ms533028.aspx',出于安全原因。
虽然我完全理解为什么这样做是为了普通大众,但如何在我的机器上禁用它以便我可以运行这些测试?如果不在facebook iframe中进行测试,我无法正确测试我的应用程序,并且使用WebBrowser控件是我知道以编程方式执行此测试的唯一方法。
有什么想法吗?我在Windows Server 2003和ie8,.net4.0上,如果有帮助的话。我拥有应用程序所在的域,以及它在AS.NET MVC2中,所以如果有任何我可以对Web代码做的事情来启用这个???我还删除了Internet Explorer ENhanced Security COnfiguaration组件,但这没有帮助。
谢谢, 菲利普
答案 0 :(得分:1)
您是否尝试过更改Internet Explorer设置以启用跨域脚本编写?
我相信VB.Net Web浏览器控件从IE的本地副本继承设置。
试试这个: 从Internet Explorer中,从“工具”菜单中选择“Internet选项”。 在“Internet选项”对话框的“安全”选项卡上,选择“本地Intranet Web内容区域”,然后单击“自定义级别”。 找到Miscellaneous / 跨域访问数据源设置,然后选择启用,如图2所示。 单击“确定”,然后单击“是”以显示出现的警告对话框。 单击“确定”关闭“Internet选项”对话框。
还可以尝试将Facebook https Url添加到您信任的网站中。
作为最后的手段,在IE中禁用Native XMLHttp并尝试恢复到旧版本的XMLHttp对象。