2015-10-21 6 views
1

Я работаю над плагином для Outlook Web Access. Мой плагин - это просто кнопка с тегом с target='_blank', которая отправляет пользователя на другую страницу. На основе document от Microsoft:«Открыть ссылку в новой вкладке» в браузере против «target = _blank» в HTML

В поддерживаемых веб-клиентов, таких как Excel Online и Outlook Web App, Office Надстройки размещаются в IFRAME, который работает с помощью атрибута песочнице HTML5. Компоненты ActiveX или перемещение главной страницы веб-клиента не допускаются. Поддержка надстроек Office включена в веб-клиентах путем интеграции JavaScript API для Office. Аналогично клиентским приложениям на рабочем столе API JavaScript управляет жизненным циклом надстройки и взаимодействием между надстройкой и веб-клиентом. Эта функциональная совместимость реализуется с использованием специальной инфраструктуры обмена сообщениями с межкадровыми сообщениями. Для взаимодействия с веб-клиентом доступна одна и та же библиотека JavaScript (Office.js), которая используется на настольных клиентах.

Из-за упомянутой Песочницы при нажатии ссылки целевая страница отображается неправильно и показана частично. Удивительно, если я щелкнул правой кнопкой мыши по одной и той же ссылке и выберите «Открыть ссылку на новой вкладке», целевая страница будет показана в порядке, не пропуская ее содержимого.

Мой вопрос: В чем разница между использованием атрибута target='_blank' в HTML и выбором опции «Открыть ссылку в новой вкладке» в браузере? И как я могу смоделировать опцию «Открыть ссылку в новой вкладке», чтобы мой плагин работал без необходимости прямого щелчка по ссылке.

P.S. Я пробовал это как в Firefox, так и в Chrome, и они имеют такое же поведение.

+0

Что произойдет, если вы используете 'target =" _ self "? –

+0

С 'target =" _ self "', ссылка исчезает и ничего не происходит. Кажется, что плагин запускается внутри iframe – Ali

+0

. В этот момент я чувствую, что это проблема с самим API. –

ответ

2

target="_blank" обычно откроет ссылку, в которой когда-либо указывалась конфигурация браузера. Насколько я знаю, нет способа контролировать, как это работает в самой разметке. Вы пробовали это в нескольких браузерах? EDIT: для имитации функциональности «открыть в новой вкладке», target="_blank" верен.

+0

Я использовал IE, но интерфейс OWA отличается, и я не вижу в нем своего плагина. Я дам ему попробовать в Firefox – Ali

+0

BTW, согласно моему эксперименту, «открыть в новой вкладке» и «target =» _ blank »' _не точно_ то же самое – Ali

+0

@ Али вы правы, они не _exactly_ одна и та же. Однако для запуска функциональности «открыть в новой вкладке» в вашей разметке «target =» _ blank »является стандартным атрибутом. Дополнительная информация об этом [здесь] (http://stackoverflow.com/questions/17711146/how-to-open-link-in-new-tab-on-html) –

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

  • Нет связанных вопросов^_^