#javascript #python #jupyter-notebook
Вопрос:
По умолчанию при нажатии на блокнот .ipynb на панели мониторинга Jupyter блокнот открывается на новой вкладке. Я хотел бы переопределить это поведение, поэтому при нажатии на файл .ipynb следует просто отправить ссылку на записную книжку (которую предполагалось открыть) в custom.js не подавая (открывая) записную книжку.
Как только ссылка будет доступна в custom.js, Я отправляю его на C с помощью запроса подмигивания, который затем открывает ссылку в другом браузере.
Необходима помощь: ввод ссылки custom.js и остановить выполнение записной книжки
Я могу получить ссылку в custom.js используя что-то хакерское: $('a')[1]
Но я до сих пор понятия не имею, как помешать Джупайтеру обслуживать записную книжку.
Возможно ли это? Покопавшись в документах, я нашел эти дополнительные службы, но могу ли я создать обработчик для этой цели?
Любая помощь будет признательна, спасибо.
Комментарии:
1. Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией для определения адекватного ответа.
Ответ №1:
Я не мог найти способ официально сделать это, никаких ответов ни здесь, ни на форуме сообщества Jupyter.
Я заставил его работать, используя не очень эффективное хакерское решение, которым я делюсь здесь.
Процесс
- Установите цель для всех открытых функций Jupyter в _self вместо _blank (гарантирует, что ссылки будут открываться на той же вкладке, а не на новой вкладке).
- Используя document.referrer, получите URL предыдущей страницы
- Используя
$('a').href
получить ссылку на текущую страницу - Отправьте ссылку на текущую страницу и ссылку на предыдущую страницу в Cpp
- Загрузите ссылку на страницу curr в новом браузере с помощью cpp, установите на старой вкладке браузера ссылку prev.