<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                JxBrowser提供了允許將Java對象注入JavaScript代碼的功能。默認情況下,可以從JavaScript訪問注入的Java對象的所有公共字段和方法,因此JavaScript代碼可以訪問它們。要告訴JavaScript代碼可以從JavaScript訪問注入的Java對象的公共字段/方法,可以使用@JSAccessible注釋。如果您需要讓JavaScript代碼只訪問特定的公共字段/方法,則必須使用@JSAccessible注釋標記它們。例如: ``` public class JavaObject { @JSAccessible public String accessibleField; public String nonAccessibleField; public void doAction() { } @JSAccessible public void doAccessibleAction() { } } ``` 如果將JavaObject注入JavaScript代碼,那么JavaScript將只能訪問accessibleField公共字段和doAccessibleAction()公共方法。如果JavaScript嘗試訪問其他公共字段或方法,則會拋出JavaScript代碼中的異常。 完整的例子: ``` import com.teamdev.jxbrowser.chromium.Browser; import com.teamdev.jxbrowser.chromium.JSAccessible; import com.teamdev.jxbrowser.chromium.JSValue; import com.teamdev.jxbrowser.chromium.swing.BrowserView; import javax.swing.*; import java.awt.*; /** * The sample demonstrates how to inject Java object into JavaScript code and * tell JavaScript what public fields and methods JavaScript can access via the * JSAccessible annotation. See comments in the example. */ public class JavaScriptJavaJSAccessibleSample { public static void main(String[] args) { Browser browser = new Browser(); BrowserView view = new BrowserView(browser); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.add(view, BorderLayout.CENTER); frame.setSize(700, 500); frame.setLocationRelativeTo(null); frame.setVisible(true); JSValue window = browser.executeJavaScriptAndReturnValue("window"); // Inject Java object into JavaScript and associate it with // the 'window.javaObject' property. JavaObject javaObject = new JavaObject(); window.asObject().setProperty("javaObject", javaObject); // You can access public field marked with the JSAccessible annotation // of the injected Java object and modify their values. browser.executeJavaScriptAndReturnValue( "window.javaObject.accessibleField = 'Hello from JavaScript!';"); // Access to public field that isn't marked with the JSAccessible // annotation will be denied and cause an error in JavaScript. browser.executeJavaScriptAndReturnValue( "window.javaObject.nonAccessibleField = 'Hello from JavaScript again!';"); // Print a new value of the accessibleField. System.out.println("accessibleField = " + javaObject.accessibleField); System.out.println("nonAccessibleField = " + javaObject.nonAccessibleField); } /** * The class has two public fields. The 'accessibleField' public field marked * with the JSAccessible annotation. The 'nonAccessibleField' public field * isn't. If at least one public field of method is marked with the * JSAccessible annotation, it means that only public fields and methods with * this annotation can be accessed from JavaScript. Access to other public * fields or methods will cause an error in JavaScript. If class or its * superclass doesn't have public fields or methods marked with the * JSAccessible annotation, then it means that all public fields and methods * can be accessed from JavaScript. */ public static class JavaObject { @JSAccessible public String accessibleField; public String nonAccessibleField; } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看