由于IE设置,IHTMLTxtRange.execCommand(“Copy”,false,null)失败

时间:2010-04-12 15:48:45

标签: security internet-explorer browser

我们有一个.Net应用程序,用于编辑/呈现自定义HTML文档。它使用AxSHDocVw.AxWebBrowser控件在IE中托管。我们首先导航到“about:blank”页面然后我们通过将自定义值写入其中来更改Document。我们面临的问题是,如果我们不启用Internet安全区域中的IE安全设置(脚本 - >允许编程访问剪贴板),则调用IHTMLTxtRange.execCommand(“Copy”,false,null)失败。

为了绕过安全设置,我尝试在导航时最初指向本地html文件。但是,一旦我修改了文档,这就失败了。

我想使用IHTMLTxtRange.execCommand(“Copy”,false,null)命令,以便我可以自定义复制/粘贴操作。 有没有其他方法可以做到这一点。 请分享您的想法,以克服这种情况。 谢谢。 斯利拉姆

2 个答案:

答案 0 :(得分:1)

在您的webbrowser控制主机上尝试implement IInternetSecurityManager,在ProcessUrlAction中处理URLACTION_SCRIPT_PASTE。 请注意,a bug in earlier versions of IE会导致Web浏览器忽略主机的URLACTION_SCRIPT_PASTE处理。

答案 1 :(得分:0)

据我所知,未经用户许可,无法做到这一点。它是一个安全/隐私漏洞,允许访问剪贴板,其自然的浏览器保护它。

  1. 您已经尝试过ActiveX,但它不起作用
  2. 使用Flash,您可以与系统剪贴板进行交互 - 但仅当是事件处理程序的一部分时。见Flash Player 10 Security
  3. Javascript不会提供访问剪贴板的方法。
  4. 不确定silverlight,但我猜它也会限制对剪贴板的访问。
  5. 简而言之,用户必须明确授予您的应用程序/网站访问剪贴板的权限。