访问 DOM 个对象模型 JavascriptCore
Accessing DOM object model JavascriptCore
我有一段代码需要在 Objective-C 代码中访问 DOM 对象模型。我正在尝试执行一个假设 return 内容
的函数
NSString *functionScr = [NSString stringWithFormat: @"var fPreset=\"%@\";"
"var addFavorite = function() {"
" if (fPreset != '') {"
" var ft = window.document.createElement('div');"
" ft.innerHTML = decodeURIComponent(fPreset);"
" var f = ft.innerHTML;"
" var bub = encodeURIComponent(f.childNodes[1]);"
" return bub;"
" }"
" }",encodedHTML];
[context evaluateScript:functionScr];
JSValue *retVAL = [context evaluateScript:@"addFavorite();"];
执行时出现错误
ReferenceError: Can't find variable: window
如何访问 JavascriptCore 中的 window 对象?
这是不可能的:(
DOM 和任何其他 window 属性 在 JavascriptCore 中不可用。
纯JS引擎
这对我有用
JSContext *context = [yourwebview valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
[context evaluateScript:yourfunctionScr];
JSValue *retVAL = [context evaluateScript:@"addFavorite();"];
我有一段代码需要在 Objective-C 代码中访问 DOM 对象模型。我正在尝试执行一个假设 return 内容
的函数 NSString *functionScr = [NSString stringWithFormat: @"var fPreset=\"%@\";"
"var addFavorite = function() {"
" if (fPreset != '') {"
" var ft = window.document.createElement('div');"
" ft.innerHTML = decodeURIComponent(fPreset);"
" var f = ft.innerHTML;"
" var bub = encodeURIComponent(f.childNodes[1]);"
" return bub;"
" }"
" }",encodedHTML];
[context evaluateScript:functionScr];
JSValue *retVAL = [context evaluateScript:@"addFavorite();"];
执行时出现错误
ReferenceError: Can't find variable: window
如何访问 JavascriptCore 中的 window 对象?
这是不可能的:( DOM 和任何其他 window 属性 在 JavascriptCore 中不可用。 纯JS引擎
这对我有用
JSContext *context = [yourwebview valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
[context evaluateScript:yourfunctionScr];
JSValue *retVAL = [context evaluateScript:@"addFavorite();"];