我试图在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时哈希就会丢失。
答案 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”保持不变。