7

我正在尝试从 c# 在 Chrome 中打开一个 url 并保留哈希 (#)。例子:

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

启动进程时,包括哈希 (#) 之后的所有内容都会丢失。我可以从命令提示符手动运行 Chrome,包括 url 中的哈希

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

并且当默认浏览器设置为 IE 或 FireFox 时保留哈希值。

非常感谢任何建议。谢谢!

测试.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 回答