I'm trying to add a shortcut to open Chrome with a non-http url from a bash script. This is what I've got:
/usr/bin/open -a "/Applications/Google Chrome.app" 'chrome-extension://hgmloofddfasdfasdffgcellkdadsfadsfbjeloo/RestClient.html#RequestPlace:saved/2'
Since the argument doesn't start with "http" Chrome tries to open it as a file, which of course doesn't exist, nor is it what I want.
Is there a way to make Chrome treat that as a url?
Edit:
@mjb - that's almost working. Thank you.
The extension (Advanced Rest Client) is installed locally. However, there's something different about loading it as a file and loading it with "chrome-extension://". When I load it as a file, I don't get the data (my rest requests) that has been saved as part of the app. Without that, it's useless.
Here's what I'm running from bash:
/usr/bin/open -a /Applications/Google\ Chrome.app /Users/me/Library/Application\ Support/Google/Chrome/Default/Extensions/hgmloofdphfgcellkdfbfbjeloo/3.1.7_0/RestClient.html
It loads my app, and it comes up - just without my context/data. When I click the extension in Chrome, it uses the following url:
chrome-extension://hgmloofdphfgcellkdfbfbjeloo/RestClient.html#RequestPlace:saved/2
Note that the hash on the end makes no difference. The UUID is the same as the local directory.
I also tried loading it with:
https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffgcellkdfbfbjeloo/RestClient.html
That just brings up the Chrome Web Store page for this app.
The data I want to use does appear to be in the database file for this extension, which is in:
/Users/me/Library/Application Support/Google/Chrome/Default/databases/chrome-extension_extension_hgmloofddffdnphfgcellkdfbfbjeloo_0/5
Any ideas?
Answer
I believe open
attempts to process the passed URL before passing it on to Chrome. Since it doesn't recognize the 'chrome-extension' scheme, it interprets it as a relative file path.
Instead, you can use AppleScript to accomplish this.
osascript < set theURL to "chrome-extension://nmmhkkegccagdldgiimedpiccmgmieda/html/craw_window.html"
tell application "Google Chrome"
if windows = {} then
make new window
set URL of (active tab of window 1) to theURL
else
make new tab at the end of window 1 with properties {URL:theURL}
end if
activate
end tell
EOD
Note that the above code is actually AppleScript wrapped in a bash heredoc and passed to the osascript
command, so you can drop it right into the terminal or a shell script.
No comments:
Post a Comment