7

C# から Chrome で URL を開き、ハッシュ (#) を保持しようとしています。例:

string command = "http://127.0.0.1/test.html#foobar";
ProcessStartInfo ps = new ProcessStartInfo(command) { UseShellExecute = true };
Process.Start(ps);

プロセスを開始すると、ハッシュ (#) 以降はすべて失われます。URLにハッシュを含めて、コマンドプロンプトからChromeを手動で実行できます

C:\Program Files (x86)\Google\Chrome\Application>chrome.exe 127.0.0.1/test.html#foobar

デフォルトのブラウザーが IE または FireFox に設定されている場合、ハッシュは保持されます。

どんな提案でも大歓迎です。ありがとう!

test.html:

<!DOCTYPE HTML>
<html>
<head>
    <title>Test</title>
</head>
<body>
<h1>Test</h1>
<div style="height:1000px; background: #ccc; width: 100%"></div>
<a name="foobar">foobar</a>
</body>
</html>

注:ユーザーが chrome を使用したいと思っているとは限りません。ユーザーの既定のブラウザーが何であれ、これが機能する必要があります。ユーザーの既定のブラウザーが IE または Fire Fox の場合は機能しますが、ユーザーの既定のブラウザーが Chrome の場合はハッシュが失われます。

4

2 に答える 2

1

URL をデフォルトのブラウザで開くコマンドはstart myURL、 だけではありませんmyURL

次のコマンドを実行する必要があります。

「127.0.0.1/test.html#foobar」を開始

引用符は、C# ではなく、結果の文字列にある必要があることに注意してください。そのための C# コードは次のようになります。

string command = @"start" + @"""127.0.0.1/test.html#foobar""";
于 2012-11-12T21:13:37.283 に答える
0

私のデフォルトのブラウザはchromeで、このコマンドは完全に正しく機能します。

System.Diagnostics.Process.Start(@"http://www.bitterminion.com/excel-launchpad#gopro");

「#gopro」はそのまま残ります。

于 2012-11-12T21:51:44.480 に答える