0

必要なのは、HTA から既定の Web ブラウザーでリンクを開くにはどうすればよいですか? のようなものです。、ただし、リンクが iframe 内にあるという制限があります。

iframe はサーバーにページをロードします。

アイデア: iframe のリダイレクトを検出して防止できるので、https://stackoverflow.com/a/185581/66372のようなコードを実行します。どのように?

更新 1 明確にするために: 私たちが解決しようとしている問題は、ユーザーがリンクをクリックすると、既定のブラウザーで開くということです。

mplungjan の回答に似たオプションの 1 つは、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 に答える