2016-03-26 2 views
0

У меня есть расширение Crossrider, которое выдает меню с изображением PNG (в popup.html), когда нажимается значок расширения. Это прекрасно работает. Но я также хочу открыть popup.html таким же образом, когда пользователь вводит определенные шаблоны URL (эта часть также уже работает). Ничего, что я пробовал за последние несколько часов, не работает. Помогите! Extension ID: 83484Как открыть всплывающее окно Crossrider на основе нового открытия страницы?

В background.js у меня есть это:

appAPI.browserAction.setPopup(
    { 
     resourcePath: 'popup.html', 
     height: popupDims[ appAPI.platform ].height, 
     width: popupDims[ appAPI.platform ].width 
    }); 

В extension.js у меня есть это:

appAPI.openURL(
    { 
     resourcePath: "popup.html", 
     where: "window", 
     focus: true, 
     focusTimer: 5000, 
     height: 300, 
     width: 300 
    }); 

Я также использовал "всплывающее окно" вместо «окно ».

Окно popup.html/popup не отображает изображение, на которое ссылается файл, даже если изображение присутствует во всплывающем окне, которое отображается, когда я нажимаю значок расширения. Кроме того, ссылки работают, когда всплывающее окно отображается после щелчка значка, но не в коде выше.

+0

Вы должны а) показать, что вы уже пробовали, и б) объяснить, что «не работает» средства. У вас будет гораздо больше шансов получить помощь в этой информации в сообщении. – elhefe

+0

Спасибо. Готово. –

ответ

0

Методы appAPI.openURL и appAPI.browserAction.setPopup отличаются друг от друга: openURL, обеспечивающий ограниченную окружающую среду; поэтому, хотя вы можете совместно использовать файл popup.html между ними, не все функции (такие как ресурсы и некоторые методы), поддерживаемые в setPopup будут доступны для openURL. Для получения дополнительной информации см. Разделы в документах.

[Отказ от ответственности: Я сотрудник Crossrider]

+0

Привет, Шломо. Спасибо за ответ. Моя проблема: как я могу вызывать всплывающее окно для отображения при каждом открытии определенного URL-адреса на активной вкладке? –

+0

Извините, комментарий выше. Я использую сообщение из extension.js в background.js? –

+0

Я бы подумал об этом в _background.js_, используя [appAPI.tabs.onTabSelectionChanged] (http://docs.crossrider.com/#!/api/appAPI.tabs-method-onTabSelectionChanged), где URL-адрес доступен в параметры, переданные методу. – Shlomo

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