Javascript 在Google Colab html中导入外部JS脚本

Javascript 在Google Colab html中导入外部JS脚本,javascript,python,html,google-colaboratory,Javascript,Python,Html,Google Colaboratory,我很难将自定义外部JS文件导入到Google Colab。我使用html+js,遵循以下工作流: 1/进口 from IPython.display import HTML, SVG from IPython.core.magic import register_cell_magic 2/安装驱动器 from google.colab import drive drive.mount('/content/drive') 3/html @register_cell_magic def dojs

我很难将自定义外部JS文件导入到Google Colab。我使用html+js,遵循以下工作流:

1/进口

from IPython.display import HTML, SVG
from IPython.core.magic import register_cell_magic
2/安装驱动器

from google.colab import drive
drive.mount('/content/drive')
3/html

@register_cell_magic
def dojs(line, src):
  return HTML(f"""
  <canvas id="renderCanvas" touch-action="none" width="1280px" height="720px"></canvas> 
  <script src="content/drive/My Drive/Colab Notebooks/files/testJavascript.js"></script>
  <script>
  {src} 
  </script>
  """)

也许这样做真的很琐碎,但我是Colab的新手。我得到“加载资源失败:服务器响应状态为500()”

行,如
script src=“内容/驱动器…
不起作用。原因是执行代码的后端VM上存在驱动器文件。但是,使用
标记将由您的浏览器根据当前的基本来源解决,即
colab.research.google.com
,它不为您的驱动器文件提供服务

在这里的高级输出示例中,有一些提供本地文件的方法:


您需要将JS文件放在这里:

/usr/local/share/jupyter/nbextensions/google.colab/

然后可以通过路径进行访问

/nbextensions/google.colab/

在您的情况下,您需要将js文件复制到那里:

!cp /content/drive/My\ Drive/Colab\ Notebooks/files/testJavascript.js \
    /usr/local/share/jupyter/nbextensions/google.colab/
然后将
dojs()
更改为

@register_cell_magic
def dojs(line, src):
  return HTML(f"""
  <canvas id="renderCanvas" touch-action="none" width="1280px" height="720px"></canvas> 
  <script src="/nbextensions/google.colab/testJavascript.js"></script>
  <script>
  {src} 
  </script>
  """)
@register\u cell\u magic
def dojs(行,src):
返回HTML(f“”
{src}
""")
@register_cell_magic
def dojs(line, src):
  return HTML(f"""
  <canvas id="renderCanvas" touch-action="none" width="1280px" height="720px"></canvas> 
  <script src="/nbextensions/google.colab/testJavascript.js"></script>
  <script>
  {src} 
  </script>
  """)