从命令行在Mac OS上打开一个html页面到一个锚点

时间:2013-04-25 19:20:09

标签: macos shell command-line

我想打开一个特定锚点的网页。

例如:

  

打开index.html #intro

当我尝试这个时,我会收到错误说

  

index.htm.l #intro不存在

4 个答案:

答案 0 :(得分:2)

它不会打开,因为它认为您正在键入文件名index.htm.l#intro。据我所知,无法打开从命令行到锚点的页面。

作为一种解决方法,您可以使用onLoad函数或Jquery document.ready来包含javascript以跳转到指定的锚点。

答案 1 :(得分:2)

您也可以使用AppleScript命令行(在终端中):

osascript -e 'tell application "Safari" to open location "file://{full_path}/index.html#intro"'

其中{full_path}是文件的绝对路径。

答案 2 :(得分:0)

据我所知,这是不可能的。命令:

open file:///path/to/file.html#test

在系统默认浏览器中成功打开指定的HTML文件,但未将#test锚点传递给该文件。但是,使用http:// URL执行相同的操作会有效。我怀疑用于处理file://请求的Apple事件只指定了文件名,而不是URL,因此无法保留锚。

答案 3 :(得分:0)

此处提供的解决方案会自动使用默认浏览器:https://apple.stackexchange.com/a/197284/202702

  

非特定方法是:

     

osascript -e 'open location "file:///Users/me/index.html#my-anchor"'