Я разрабатываю аддон для firefox с использованием метода addon-SDK. Я хотел бы знать, есть ли в любом случае изменить html (contentURL), отображаемый на этой панели, на новую веб-страницу, щелкнув ссылку в этом contentURL. Заранее спасибо.Показать новую html/страницу в панели
ответ
Вигнеш вот код, который получает URL щелкнули:
https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/panel#Scripting_panel_content
var myScript = "window.addEventListener('click', function(event) {" +
" var t = event.target;" +
" if (t.nodeName == 'A')" +
" self.port.emit('click-link', t.toString());" +
"}, false);"
var panel = require("sdk/panel").Panel({
contentURL: "http://www.bbc.co.uk/mobile/index.html",
contentScript: myScript
});
panel.port.on("click-link", function(url) {
console.log(url);
});
panel.show();
Итак вы можете изменить это, чтобы быть вместо console.log (URL), вы можете сделать это найти вашу панель и изменяет местоположение своего iframes на этот URL-адрес. Я не уверен, как это сделать с помощью методов sdk, может быть, кто-то еще может поделиться. Я хотел бы попробовать сделать это, хотя:
panel.port.on("click-link", function(url) {
panel.contentURL = url;
});
редактировать: panel.contentURL = url
может не работать, так что вы должны сделать это следующим образом:
const { getMostRecentBrowserWindow } = require('sdk/window/utils');
var aXULBrowser = getMostRecentBrowserWindow();
aXULBrowser.getElementById('ID OF YOUR PANEL, probably same as id to your widget here').getElementsByTagName('iframe').contentWindow.location = url;
@Vignesh if 'panel.contentURL = url' не работает, тогда вы можете делать то, что я добавил выше. Если вы не можете определить идентификатор вашей панели, используйте DOM Insepctor и Elment Inspector, затем сдвиньте + щелкните правой кнопкой мыши на своей панели, и он откроет ее в инспекторе, после чего вы сможете легко увидеть идентификатор панели. – Noitidart
- 1. Получить htmlстраницу в ландшафтном режиме
- 2. Включить новую строку в панели
- 3. Показать новую пустую страницу после нажатия кнопки панели инструментов
- 4. Создайте новую вкладку вместо панели
- 5. Как показать новую форму
- 6. Показать Показать в верхней части панели навигации
- 7. Показать сообщение в боковой панели?
- 8. Показать статьи в боковой панели
- 9. Показать новую строку вместо \ n
- 10. Нажмите, чтобы показать новую страницу
- 11. Как добавить новую вкладку на панели панели Autocad 2009 C#?
- 12. Показать новую HTML-страницу в сервлете
- 13. Как показать новую строку в ярлыке
- 14. Показать новую форму в событии таймера таймера
- 15. Показать новую строку в MS Charts Tooltip
- 16. Открывая новую панель, просто щелкнув часть панели
- 17. cakephp испечь новую страницу с панели admin
- 18. Как показать Piechart в панели в Winform
- 19. Eclipse toggle показать/скрыть панели
- 20. wordpress - добавить новую вкладку меню панели администратора на основе категории
- 21. Показать подсказку возле панели действий
- 22. Показать текст на панели задач
- 23. Как показать оценки подзаголовков в панели scrum?
- 24. Android: меню Показать опции в панели навигации
- 25. Как показать радиокнопки с панели в JavaScript
- 26. Показать продукты конкретного продавца в панели администратора
- 27. Как скрыть/показать элементы в панели стека?
- 28. Как показать панель с кнопками в панели?
- 29. Показать активный элемент в навигационной панели
- 30. JavaFX - показать график в панели на флажке
Вам может понадобиться посетить [спросить] для предложений о том, как улучшите свой вопрос и избегайте проседания. – ochi
@Ochi хороший вопрос. Виньке да есть способ. Я сделал это давно, но я вышел из цикла sdk, поэтому может быть рекомендован способ, с помощью которого некоторые разработчики sdk могут поделиться с вами. – Noitidart
возможно, это может помочь ответить на ваш вопрос: http://stackoverflow.com/questions/16073930/how-do-i-display-a-link-in-a-panel-on-my-firefox-extension-using-the -add-on-sdk – ochi