擅长:python、mysql、java
<p>我认为<code>IPython.notebook.session.delete()</code>比<code>IPython.notebook.kernel.kill()</code>好。在</p>
<pre><code>window.addEventListener('unload', function() {
// For Firefox
IPython.notebook.session.delete();
});
window.onbeforeunload = function () {
// For Chrome
IPython.notebook.session.delete();
};
</code></pre>
<h3>原因</h3>
<p>因为<code>kernel.kill()</code>只会杀死内核。它不会告诉笔记本的sessionmanager要杀死它。
因此,在终止后,当您重新打开由<code>kernel.kill()</code>(关闭的选项卡或窗口)关闭的同一ipynb文件时,sessionmanager将引发<code>KernelError</code>。在</p>
<h2>关于卸载</h2>
<p>在GoogleChrome上,卸载事件不会在移动页面上触发。
所以,我认为您还应该钩住<code>beforeunload</code>事件</p>
<p>但是用<code>addEventListener('beforeunload', ...)</code>钩住没有用。
所以我试了<code>window.onbeforeunload =</code>,效果很好。在</p>