I have a JavaScript code which I will like to clean up a bit, I was trying to pass object method name as a string but it doesn't work. Is it possible to do this?
var mywebkit = {
execute: function(_function, _value){
//var func = new Function(_function);
var func = new Object(_function);
try{
if(Interface("android")){
androidweb.func(_value);
}else if(Interface("ios")){
webkit.messageHandlers.func.postMessage(_value);
}
} catch(err) {
if(DEBUG){console.log('The native context does not exist yet', err);}
}
}
};
A test JavaScript object function example:
var androidweb = {
test: function(k){
console.log("value=" + k);
}
};
var webkit = {
messageHandlers: {
test: {
postMessage: function(k){
console.log("value=" + k);
}
}
}
};
function Interface(t){
return (t == "android" ? true : false);
}
Usage:
mywebkit.execute("test", "This is my value");