我正在使用这个库在 android 上运行一些 javascript - https://github.com/LiquidPlayer/LiquidCore/wiki/LiquidCore-as-a-Native-Javascript-Engine
我有一些对象暴露给 javascript 没问题,但我想将一些函数绑定到该类作为真正的 getter/setter 属性。
在 javascript 中执行此操作的语法是:
Object.defineProperty(viewWrapper, 'width', {
get: function () {
return viewWrapper.view.width();
}
});
我找到了这个类:http ://ericwlange.github.io/org/liquidplayer/webkit/javascriptcore/JSObjectPropertiesMap.html
我在苹果文档中看到了这个参考:https ://developer.apple.com/documentation/javascriptcore/jsvalue/1451542-defineproperty
我这样做的原因是完美地遮蔽现有对象,因此我必须能够复制 getter/setter 样式。我可以在 javascript 层完成这项工作,但我正在尝试编写尽可能少的代码,并从 java 端公开完全形成的对象。
我在这个页面上试过这个,但它最终只是绑定了函数本身。