2012-05-21 2 views
0

У меня есть приложение, где у меня есть вкладки, где каждая вкладка представляет конкретное подпрограмму.Возможно ли открыть браузер на уже открывшемся веб-сайте?

Я бы хотел, чтобы все ссылки, такие как site.com/*, открывались в уже существующей вкладке браузера и каким-то образом уволили событие JavaScript, чтобы новая ссылка была получена/открыта, чтобы я мог открыть ее в своем приложении.

В основном я создаю веб-приложение, и я хотел бы иметь ссылки, открывающиеся в одном экземпляре приложения, а не создавать несколько экземпляров моего приложения.

Возможно ли это?

Обновление: Я говорю о том, если кто-то отправит ссылку по Skype или по электронной почте, что ссылки откроются в моем приложении. Я знаю большинство веб-технологий, и я не могу придумать какой-либо подход, поэтому я оставил этот вопрос, если у кого-то может быть идея. Или плагин, если нет, когда-нибудь мы получим его, и я добавлю ответ на свой вопрос/вопрос.

ответ

1

Да. Просто используйте ссылки target attribute ссылок, чтобы открыть их в контексте просмотра под-приложений (т. Е. Вкладка, окно).

У нас нет сообщений, связанных с открытием ссылок. Вы можете добавить обработчик события клика ко всем ссылкам, выполняя то, что вам нужно, когда URL-адрес совпадает.


Если вы хотите, чтобы ваше веб-приложение открывало определенные протоколы или типы mime, даже это возможно с HTML5. Вы можете использовать window.navigator.registerProtocolHandler() и window.navigator.registerContentHandler(). См. HTML5 Draft on Custom scheme and content handlers.

Если пользователи открывают новую вкладку/окно для ссылки, которую он получил по электронной почте и т. Д., Вы обычно не можете поймать и предотвратить это. Но вы можете использовать Cross-document messaging, например. window.postMessage, чтобы посмотреть, открыто ли ваше приложение где-то в браузере, а затем закрыть одну вкладку и сфокусировать другую.

+0

Обновлен вопрос. Извините, если я вводил в заблуждение, я говорю о ссылках, которые открываются через Skype или по электронной почте. :) – Tower

+0

Можете ли вы подробно рассказать о том, как работать с перекрестными документами. Я имею в виду, 'window.postMessage()' прост, но как я могу найти ссылку на другое 'окно', чтобы поговорить? Это просто, если страницы находятся на одном документе, но в разных фреймах. Однако, в моем случае ссылки с электронной почты открываются на совершенно новую вкладку, как работает обмен сообщениями между документами в этом сценарии? – Tower

+0

О, ты прав. Я не знаю, как получить эту ссылку. Тогда я могу только думать об общении, изменяя файлы cookie/sessionStorage и опроса для их изменения на другой стороне. – Bergi

Смежные вопросы