0

セキュリティ上の理由から、ローカルの HTML ファイルを表示しているサブクラス化された WebBrowser でユーザーがポップアップをクリックしたときに、Outlook (または既定のメール クライアント) を開くことを無効にしようとしています。DocumentText を「mailto:」リンク参照のないバージョンに置き換えようとしましたが、これは継続的に失敗しました (何を試しても、DocumentText を設定した後、about:blank ページに固執し続けます)。

私の問題に対する最善の解決策は、レジストリまたはその他の手段を使用して、デフォルトのメール クライアントを完全に無効にすることですが、まだ試していないことは何でも受け入れることができます。何か案は?

4

1 に答える 1

0

「mailto」参照を含まないように html ファイルを上書きすることで、セキュリティの問題を解決できました。ファイルを置き換えた後、単純に更新しました。

  TextReader tr = File.OpenText(e.Url.LocalPath);
  htmlFile = tr.ReadToEnd();
  tr.Close();
  tr.Dispose();

  if (htmlFile.Contains("mailto:support@website.com"))
  {
      htmlFile = htmlFile.Replace("mailto:support@website.com", @"about:blank");

      //Recreate new file with fixed html
      File.Delete(e.Url.LocalPath);
      TextWriter tw = File.CreateText(e.Url.LocalPath);
      tw.Write(htmlFile);
      tw.Flush();
      tw.Close();
      tw.Dispose();

      Refresh();
  }
于 2011-04-19T22:25:05.943 に答える