1

我正在使用brython建立一个网站,但遇到了一个与它无关的问题。

我的问题是 Mezzanine 或 TinyMCE 编辑器(我不确定是哪个)。为了使 brython 工作,我需要脚本标签为“text/python”。但是编辑器会自动将其过滤为“text/javascript”。

我已经在管理面板和实际源代码中禁用了过滤,我也尝试将“text/python”添加到夹层配置中的 RICHTEXT_ALLOWED 默认值。

需要明确的是,安全不是问题,此特定功能不会在网站的最终版本中上线。

4

1 回答 1

0

尽管 HTML 规范确实允许在脚本的type属性中添加除“text/javascript”之外的任何值,但很少有项目会这样做,而 Brython 就是其中之一。“text/javascript”值很可能只是在编辑器中硬编码,它不允许您更改它。

(如果您尝试向编辑器的问题跟踪器报告此问题,则很有可能将问题关闭为“不会修复/不是错误”或等效项)。

我认为在这种情况下的解决方法是在调用 Brython之前编写一些 javascript 以将相关脚本标签上的属性上的文本更改为“text/python” 。即,而不是在您的页面上触发 Brython

<body onload="brython()" >

一起做点什么

<body onload="function (){var x = document.getElementsByName("python"); for(var i=0; i < x.length; x++){x.type="text/python"};brython()}()" >

(当然,将属性添加name='python'到所有 python 脚本标签)

于 2015-01-26T03:01:57.557 回答