2016-04-04 14 views
0

私はreactjsアプリケーションで特定のJavaアプレットを統合しようとしています。 以上、私はそれをDialog(matelial UIを使用して)で動かしたいと思っています。reactjsでJavaアプレットを使用する方法

私は機能するレンダー機能を持っています。特定のボタンをクリックすると、ダイアログが表示されます。私のリターン()関数のダイアログで、アプレットの一部に関するコードを以下に示します。

<Dialog 
     ref="dialogAction" 
     title={this.state.dialogTitle} 
     actions={customAction} 
     actionFocus="submit" 
     modal={this.state.modal} 
     autoDetectWindowHeight={true} 
     autoScrollBodyContent={true} 
     contentStyle={styles.dialogMarvin}> 

     <applet 
     type="application/x-java-applet;version=1.6" 
     width="540" 
     height="480" 
     codebase="./marvin" 
     archive="appletlaunch.jar" 
     code="chemaxon/marvin/applet/JMSketchLaunch" 
     legacy_lifecycle={true} 
     java-vm-args="-Djnlp.packEnabled=true -Xmx512m" 
     codebase_lookup={false}> 

     </applet> 

     </Dialog> 

私はこのコードを、期待通りのダイアログが表示され、最初の時間を実行すると、私がしたい場合は、Firefoxは私に尋ねますjavaを起動する(これまでのところ動作していることを伝える)。次の画像を見てください:applet ready to be loaded, but allowance asked

一度Javaが許可されると、何も表示されません(空白のみ、次の画像をご覧ください:once allowance granted)。ブラウザー内のコードをチェックすると、いくつかのプロパティが欠落しています。代わりに私が持っている本来の埋め込まコードこの1(行方不明のアーカイブ、コードベースといくつかの他)の:

<applet 
    type="application/x-java-applet;version=1.6" 
    data-reactid=".0.$=12:0.0.2.2.0.$=10.0.1.0" 
    height="480" 
    width="540"> 
</applet> 

一部inforamtionsが表示されますが、私はそれらをまだ理解していません。

あなたはあなたのreactjsでアプレットをemmbedしようとしましたか?あなたに与えるヒントはありますか?私は何か間違っている?

+0

Javaアプレットを使用しないでください。 – SLaks

+0

@SLaksここでは関係はありませんが、ありがとうございます。これにもかかわらず、私は開発しているアプリケーションのためにサードパーティ製のJavaアプレットを使用する必要があります...どんなヘルプもgratefullではありません。将来は、アプレットに代わるものだけを使用しますが、必要なすべてのオプションを備えた成熟バージョンを待っています。 – FLCcrakers

答えて

0

ランダムな属性名を許可するのは難しいです。したがって、JSXを使用してappletを注入する代わりに、代わりにコンポーネントのinnerHTMLを設定してください。これを行うには、使用がのdangerouslySetInnerHTMLに反応:

var dangerousMarkup = { 
    __html: '<applet.... ' // the whole markup string you want to inject 
}; 

<div dangerouslySetInnerHTML={dangerousMarkup}></div> 

これは、基本的にはjavascriptのバニラとdomNode.innerHTML = '<applet...'を設定することと同じで、単なる生のマークアップをそのまま通過してみましょう反応します。

文書:https://facebook.github.io/react/tips/dangerously-set-inner-html.html

+0

はい、これは機能していますが、ダイアログボックスの外側(マテリアルUIからのみ)です。私はそれをダイアログボックスに入れても、まだ空白です。私はなぜそれを否定しない...私はダイアログボックスなしでそれを処理することができますが、それは良いでしょう。私はそれに取り組むつもりです。 – FLCcrakers

関連する問題