我正在使用brython建立一个网站,而我遇到了一个与之无关的问题。
我的问题是Mezzanine或TinyMCE编辑器(我不确定哪个)。为了使brython工作,我需要脚本标记为“text / python”。但编辑器会自动将其过滤为“text / javascript”。
我已经在管理面板和实际源代码中禁用了过滤,我尝试将“text / python”添加到夹层配置中的RICHTEXT_ALLOWED默认值。
为了清楚起见,安全性不是问题,这个特殊功能不会在网站的最终版本中上线。
答案 0 :(得分:0)
尽管HTML规范确实允许在脚本的type
属性中添加除“text / javascript”之外的任何值,但很少有项目可以做到这一点,而Brython就是少数几个中的一个。 “text / javascript”值很可能只是在编辑器中进行了硬编码,并且不允许您更改它。
(如果您尝试向编辑的问题跟踪器报告此问题,可能很有可能将问题关闭为“无法修复/不是错误”或等效问题。)
我认为在这种情况下的解决方法是编写一些javascript来将相关脚本标签上的属性上的文本更改为“text / python” previous 以调用Brython。即,而不是使用
在您的页面上触发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脚本标记中)