You can extend the Open command through the use of the <ext:commandextensions>
section in your editor configuration -- see this question for an example: How to Extend “CheckOut” Command in SDL Tridion 2011 SP1?How to Extend “CheckOut” Command in SDL Tridion 2011 SP1?
In this case, I would overwrite the _openInEditor method instead. It already takes a list of URL parameters, which then end up as hashtags in the URL.
So you would just need to add your own before calling the base method:
Examples.ExampleOpenCommand._openInEditor = function ExampleOpenCommand$_openInEditor(itemToOpenUri, urlParams)
{
urlParams.tab = "InfoTab";
this.callBase("Tridion.Cme.Commands.Open", "_openInEditor", [itemToOpenUri, urlParams]);
}
Disclaimer: any method that starts with an underscore is considered private. So it could be changed without warning in the future. It still seems like the best solution to me in this case, though.