У меня есть расширение Stumbleupon для Chrome, и оно, кажется, работает нормально, за исключением того, что когда я открываю новую вкладку и появляется страница "наиболее часто посещаемых сайтов", панель инструментов не отображается. Есть ли способ заставить его появиться?
1 ответ
На странице расширения StumbleUpon они заявляют:
Chrome не допускает внедрение DOM на некоторые страницы, поэтому панель инструментов не видна на этих страницах (включая URL-адреса продуктов Chrome, такие как страница расширений и недавно открытые вкладки)
Это согласуется с документами разработчика Chrome. Из FAQ для разработчиков расширений:
Могу ли я добавить скрипт содержимого в URL-адреса
chrome://
?Нет. API расширений были разработаны для того, чтобы минимизировать проблемы обратной совместимости, которые могут возникнуть при установке новых версий браузера. Разрешение контентных сценариев на URL-адресах
chrome://
означает, что разработчики начнут полагаться на то, что DOM, CSS и JavaScript этих страниц останутся прежними. В лучшем случае эти страницы не могут быть обновлены так быстро, как они обновляются прямо сейчас. В худшем случае это может означать, что обновление одной из этих страниц может привести к поломке расширения, в результате чего ключевые части браузера перестанут работать для пользователей этого расширения.Причина, по которой полностью заменяется содержимое, размещенное по этим URL-адресам, заключается в том, что он заставляет разработчика расширений реализовывать все функции, которые они хотят, без зависимости от внутренней реализации браузера, которая остается прежней.
По сути, с текущим API расширений Chrome единственный способ, которым StumbleUpon сможет разместить свою панель на новой вкладке, - это полностью переопределить текущую вкладку, что означает, что им придется писать свои собственные. Это также означает, что StumbleUpon должен убедиться, что вновь установленные приложения и расширения отображаются на странице и т.д., Что требует гораздо больше усилий, чем они, вероятно, хотят выполнить.