Поведение переопределения: Щелчок по записной книжке .ipynb на панели мониторинга Jupyter служит (открывает) записную книжку

#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.