0

我需要的是如何从 HTA 在默认 Web 浏览器中打开链接?,但限制是链接位于 iframe 内。

iframe 在我们的服务器中加载一个页面。

想法:是否可以检测和阻止 iframe 的重定向,那么我们将运行https://stackoverflow.com/a/185581/66372中的代码。如何?

更新 1 要明确:我们试图解决的问题是,当用户单击任何链接时,它会在默认浏览器中打开。

与 mplungjan 的答案类似的一个选项是捕获 iframe DOM 中所有链接的点击事件。是否有更通用的选项适用于 iframe、文档或正文级别?(因此也适用于延迟加载和任何其他技巧)

4

1 回答 1

2

像这样的事情,在具有更高权限的 HTA 中应该完全允许

window.onload=function() {
  window.frames["iframe_in_this_document"].onload=function() {
    var links = this.document.getElementsByTagName("a");
    for (var i=0;i<links.length;i++) {
      url = links[i].href;
      if (url) links[i].onclick=function() {
        var shell = new ActiveXObject("WScript.Shell");
        shell.run(this.href);
        return false;
      }
   }  
}
于 2013-05-07T11:41:18.030 回答