如何在ReactJS中使用Java Applet

FLCcrakers

我正在尝试在我的reactjs应用程序中集成一个特定的Java小程序。而且,我想使其在对话框中运行(使用材质UI)。

我有一个可以使用的渲染功能,当我单击特定按钮时,将显示对话框。我的return()函数对话框中有关applet部分的代码如下所示: 

<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(告诉我到目前为止它正在工作)。观看下图:准备加载小程序,但要求津贴

但是,一旦允许使用Java,就不会显示任何内容(只有空白,请看下面的图像: 一旦授予了许可)。如果我在浏览器中检查代码,则缺少某些属性。而不是原始的嵌入代码,我有了这个代码(缺少归档文件,代码库和其他代码):

<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>

显示了一些信息,但我还不了解。

您有没有试图在自己的reactjs中嵌入小程序?您有一些建议要给吗?我做错了什么?

丹尼·朱莉(Dannyjolie)

在允许使用随机属性名称时,React很挑剔。因此,applet与其使用JSX进行注入,不如设置该组件的innerHTML。为此,请使用React的dangerouslySetInnerHTML

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

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

这基本上domNode.innerHTML = '<applet...'与使用普通javascript进行设置相同,React只是让我们无需修改即可通过原始标记。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章