Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firefox 以编程方式将#in URL传递到浏览器_Firefox_Url_Pdf_Google Chrome_Escaping - Fatal编程技术网

Firefox 以编程方式将#in URL传递到浏览器

Firefox 以编程方式将#in URL传递到浏览器,firefox,url,pdf,google-chrome,escaping,Firefox,Url,Pdf,Google Chrome,Escaping,我需要将字符#作为URL的一部分传递到浏览器,并以编程方式打开它。当我执行以下操作时: google-chrome path_to_some_file.pdf#view=Fit 浏览器上打开的页面是指向某个文件的路径。pdf%23view=Fit,这不是预期的URL。当我手动删除%23并在浏览器的地址栏中键入#时,它就会工作。如何以编程方式将字符传递给浏览器?您需要指定一个完全限定的文件://URL,以便包含?查询或哈希字符串 更多详情: 以下方法适用于IE10、Firefox 28和Chro

我需要将字符
#
作为URL的一部分传递到浏览器,并以编程方式打开它。当我执行以下操作时:

google-chrome path_to_some_file.pdf#view=Fit

浏览器上打开的页面是指向某个文件的路径。pdf%23view=Fit,这不是预期的URL。当我手动删除
%23
并在浏览器的地址栏中键入
#
时,它就会工作。如何以编程方式将字符
传递给浏览器?

您需要指定一个完全限定的
文件://
URL,以便包含
查询或
哈希字符串

更多详情:

以下方法适用于IE10、Firefox 28和Chrome 36

如果您是在Windows中的批处理文件中使用这些浏览器中的任何一种来执行此操作,则可以在路径中使用向后斜杠,只要您以
file://
作为前缀即可。例如,
file:///C:/blah/blah/file.pdf#etc
是正确的URL,但如果您的URL最终被格式化
file:///C:\等等,那也行

下面是如何使用批处理文件获取完整路径

file:///%CD%/file.pdf#blah
将解析为相对于工作目录的文件(通常是批处理文件的目录,而不是通过命令提示符或编程方式显式更改)

将解析为相对于批处理文件目录的文件。我通常用这个

您可以使用
。/
相对于批处理文件的目录向上导航。生成的URL仍然可以正常工作

如果您使用的是比批处理文件更健壮的文件,则可以将所有
\
转换为
/
以创建正确的URL


例如,在.NET中,我想你可以做
新的Uri(“C:\blah\file.pdf”)
,它会给你一个文件Uri(我想,不确定),然后你可以抓取并将散列附加到它上。

有趣。它正在自动转义。。。我想知道在这种情况下是否不可能?@pst可能是这样。问题是pdf规范告诉我要放置一个
#
:您可能希望在超级用户堆栈上尝试此操作。
file:///%~dp0/file.pdf#blah