c#使用hash(#)打开chrome中的url

时间:2012-11-12 20:26:12

标签: c# google-chrome hash process

我试图在c#中打开Chrome中的网址并保留哈希值(#)。 例如:

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时保留哈希值。

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

的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时哈希就会丢失。

2 个答案:

答案 0 :(得分:1)

在默认浏览器中打开网址的命令是start myURL,而不只是myURL

您需要执行命令:

  

启动“127.0.0.1/test.html#foobar”

请注意,引号需要在结果字符串中,而不是在C#中; C#代码将是:

string command = @"start" + @"""127.0.0.1/test.html#foobar""";

答案 1 :(得分:0)

我的默认浏览器是chrome,此命令可正常运行:

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

“#gopro”保持不变。