Marvin JS ( http://dl.chemaxon.com/marvinjs/15.2.16/marvinjs-15.2.16-all.zipからダウンロード) は、JavaScript ベースの化学構造編集プログラムで、組み込みたいと考えています。ローカル サーバー上の MediaWiki 記事。https://www.mediawiki.org/wiki/Manual:Developing_extensionsを読みましたが、PHP についての私の理解は非常に初歩的であるため、特に役に立ちませんでした。
このような拡張機能で、次のパーサー拡張タグを作成したいと考えています。
<marvin src = URL width = W height = H></marvin>
ここで、URL は Marvin JS プログラムによってロードされるファイルの (ローカル サーバー上の) 場所、W はアプレットの幅、H はその高さです。
他の方法で Marvin JS を記事に追加するためのこれまでの私の取り組み
このアプレットを HTML ページに埋め込む方法の例をいくつか見てきましたが、PHP の知識が不足しているため拡張機能を作成するのは非常に難しいことがわかっていたので、このアプレットをウィジェットとして、AddScriptCss 拡張機能を介して埋め込もうとしました。どちらも私に失敗しました。
AddScriptCss
追加した拡張機能をインストールした後の AddScriptCss の場合:
<addScript src = "Marvin/js/lib/jquery-1.9.1.min.js"></addScript>
<addScript src="Marvin/js/lib/rainbow/rainbow-custom.min.js"></addScript>
<addScript src="Marvin/gui/lib/promise-0.1.1.min.js"></addScript>
<addScript src="Marvin/js/marvinjslauncher.js"></addScript>
これを保存した後、ページでこの出力を受け取りました。
UNIQ5d2750bb5e9527b2-addScript-00000004-QINU UNIQ5d2750bb5e9527b2-addScript-00000005-QINU UNIQ5d2750bb5e9527b2-addScript-00000006-QINU UNIQ5d2750bb5e9527b2-addScript-00000007-QINU
残りの URL を src フィールドに追加しても (例: http://127.0.0.1/mediawiki/ )、この問題は解決しないようです。「開発者ツール」(私は Chrome を使用しています) を開くと、2 つのエラーが表示されます。
Uncaught SyntaxError: Unexpected string (@ index.php line 154. Which is a WikEd line)
http://ads.dfgio.com/loader.js?client=topaz0001 Failed to load resource: net::ERR_BLOCKED_BY_CLIENT
このMediawiki Extension add Javascript in Header stackoverflow の質問も見たので、2番目の回答 ( Mediawiki Extension add Javascript in Header ) に従ってみました。ページを置き換えscript
てaddHeadItem
保存した後、元のウィキテキストだけが残っていましたが、ハイパーリンクされた URL は除きます。
ウィジェット
ウィジェットに関する限り、私は追加しようとしました:
<includeonly><script type = "text/javascript" src="http://127.0.0.1/mediawiki/Marvin/gui/lib/promise-0.1.1.min.js"></script>
<script type = "text/javascript" src="http://127.0.0.1/mediawiki/Marvin/js/marvinjslauncher.js"></script></includeonly>
Widget:Marvin に、{{#widget:Marvin}}
結果のないページに追加しました (文字通り、この編集を保存した後にページを読み込んだとき、そこには何もありませんでした)。これは、このページで開発者ツールを開いたときに表示される画面を示すスクリーンショットです。