1

brythonを使用して Web サイトを構築していますが、それとは関係のない問題が発生しました。

私の問題は Mezzanine または TinyMCE エディターにあります (どちらかわかりません)。brython を機能させるには、スクリプト タグを "text/python" にする必要があります。ただし、エディターは自動的に「text/javascript」にフィルターします。

管理パネルと実際のソースコードの両方で、フィルタリングを既に無効にしました。メザニン構成の RICHTEXT_ALLOWED デフォルトにも「text/python」を追加してみました。

念のため言っておきますが、セキュリティは問題ではありません。この特定の機能は、Web サイトの最終バージョンではオンラインになりません。

4

1 に答える 1

0

HTML 仕様では、スクリプトの属性に「text/javascript」以外の任意の値を入れることが許可されていますtypeが、それを行っているプロジェクトはほとんどなく、Brython はその数少ないプロジェクトの 1 つです。「text/javascript」の値は、エディターで単にハードコーディングされている可能性が高く、それを変更することはできません。

(これを編集者の問題トラッカーに報告しようとすると、「修正しない/バグではない」または同等のものとして問題がクローズされる可能性が高いでしょう)。

この場合の回避策は、 Brython を呼び出すに、関連するスクリプト タグの属性のテキストを "text/python" に変更する JavaScript を記述することだと思います。つまり、ページで 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 に答える