تمرير وظيفة JS إلى التطبيق الصغير كمستمع للحدث
-
02-07-2019 - |
سؤال
هل من الممكن تمرير وظيفة/رد اتصال من جافا سكريبت إلى تطبيق جافا الصغير؟
على سبيل المثال، لدي تطبيق صغير يحتوي على زر عند الضغط عليه فإنه سيستدعي رد اتصال js الذي تم تمريره
function onCommand() {
alert('Button pressed from applet');
}
applet.onCommand(onCommand);
المحلول
أميل إلى استخدام شيء اشتقته من مثال الانعكاس الموجود في الجزء السفلي من هذه الصفحة, ، لأنك لن تحتاج إلى التدخل في مسار الفصل الخاص بك لتجميعه
ثم أقوم فقط بتمرير سلاسل JSON بين التطبيق الصغير وجافا سكريبت
نصائح أخرى
يمكنك استخدام JSObject للاتصال مرة أخرى إلى جافا سكريبت من جافا.
من تلك الصفحة:
import netscape.javascript.*;
import java.applet.*;
import java.awt.*;
class MyApplet extends Applet {
public void init() {
JSObject win = JSObject.getWindow(this);
JSObject doc = (JSObject) win.getMember("document");
JSObject loc = (JSObject) doc.getMember("location");
String s = (String) loc.getMember("href"); // document.location.href
win.call("f", null); // Call f() in HTML page
}
}
ملاحظة.لاستخدام JSObject، قد تحتاج إلى تضمين علامة "MAYSCRIPT" في علامة html الصغيرة.
لا تنتمي إلى StackOverflow