I know this is an old question but the answers don't really address the primary issue that was presented in the question which is a 301 redirect for SEO purposes (and the answer today may very well be different than it was when the question was originally asked and answered).
The answer that no, you can't 301 redirect from the client is technically correct, however (and more importantly) you don't necessarily need to. While a true 301 would be preferred, in cases like this one where it's not possible (or transitioning away from hashbang URLs back to traditional URLs for example), the question is really whether or not there's a viable alternative that accomplishes the goal.
Search Engine Land did a detailed test of Google's capabilities regarding JavaScript and this is the related excerpt from that article:
- JavaScript Redirects
We first tested common JavaScript redirects, varying how the URL was
represented in different ways. The method we chose was the
window.location function. Two tests were performed: Test A included
the absolute URL attributed in the window.location function. Test B
used a relative URL.
Result: The redirects were quickly followed by Google. From an
indexing standpoint, they were interpreted as 301s — the end-state
URLs replaced the redirected URLs in Google’s index.
In a subsequent test, we utilized an authoritative page and
implemented a JavaScript redirect to a new page on the site with
exactly the same content. The original URL ranked on the first page of
Google for popular queries.
Result: As expected, the redirect was followed by Google and the
original page dropped from the index. The new URL was indexed and
immediately ranked in the same position for the same queries. This
surprised us, and seems to indicate that JavaScript redirects can (at
times) behave exactly like permanent 301 redirects from a ranking
standpoint.
The next time your client wants to implement JavaScript redirects for
their site move, your answer might not need to be, “please don’t.” It
appears there is a transfer of ranking signals in this relationship.
Supporting this finding is a quote from Google’s guidelines:
"Using JavaScript to redirect users can be a legitimate practice. For
example, if you redirect users to an internal page once they’re logged
in, you can use JavaScript to do so. When examining JavaScript or
other redirect methods to ensure your site adheres to our guidelines,
consider the intent. Keep in mind that 301 redirects are best when
moving your site, but you could use a JavaScript redirect for this
purpose if you don’t have access to your website’s server."