firefox - 以编程方式将 URL 中的 # 传递到浏览器

标签 firefox url pdf google-chrome escaping

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

google-chrome path_to_some_file.pdf#view=Fit

浏览器上打开的页面是path_to_some_file.pdf%23view=Fit,这不是预期的URL。当我手动删除 %23 并在浏览器地址栏中输入 # 时,它就可以工作了。如何以编程方式将字符 # 传递到浏览器?

最佳答案

您需要指定完全限定的 file:/// URL 才能包含 ? 查询或 # 哈希字符串。

更多详细信息:

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

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

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

file:///%CD%/file.pdf#blah

将解析为相对于工作目录的文件(通常是批处理文件的目录,与通过命令提示符或以编程方式显式更改不同)。

file:///%~dp0/file.pdf#blah

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

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

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

例如,在.NET中,我认为你可以执行new Uri("C:\blah\file.pdf"),它会给你一个文件URI(我认为,不是当然),然后您可以抓取并将哈希值附加到其上。

关于firefox - 以编程方式将 URL 中的 # 传递到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9526335/

相关文章:

android - 为什么 Firefox Mobile(仅适用于 Android)尽管类别相同,但显示相同的字体大小不同?

javascript - 使用Firefox XML DOM解析XML(RSS)

html - 缩小图像在 Firefox、IE9 和 Opera 中没有抗锯齿,但在 Chrome 和 Safari 中有

php - htaccess : disallow all pdf files but allow from php script (file download script)

Ruby 发布请求 : PDF File

javascript - 更改事件上的 Firefox jQuery 未按预期工作

Java URL 在计时器上抓取股票报价

.htaccess - 通过 .htaccess 从 URL 中删除双斜杠或更多斜杠的问题

c# - 网络爬虫 URL 存储在数据库中 - 快速 URL 查找 - 哈希 - C#

java - 使用 JSONObject 放置/获取字节数组值