访问 UIWebView 的 JavaScriptCore 引擎

2023-10-22移动开发问题
0

本文介绍了访问 UIWebView 的 JavaScriptCore 引擎的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我刚刚在 iOS7 中发现了一个可用的新框架:JavaScriptCore.

I just discovered a new framework available in iOS7: JavaScriptCore.

看起来很棒,但是我如何访问 UIWebView 的运行时/上下文?

It looks awesome, but how can I access the runtime/context of a UIWebView?

推荐答案

这个没有官方机制.但是我知道有两种方法可以获取 JSContext.我可能不会在运输应用中使用任何一种.

There is no official mechanism for this. But there are two approaches I know about to get the JSContext. I probably wouldn't use either in a shipping app.

  1. 使用 KVC 访问内部 UIWebView 属性.在这篇博文中有详细解释:http://blog.impathic.com/post/64171814244/true-javascript-uiwebview-integration-in-ios7
  1. Use KVC to access internal UIWebView properties. Explained in detail in this blog post: http://blog.impathic.com/post/64171814244/true-javascript-uiwebview-integration-in-ios7

JSContext *ctx = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

  1. 通过类别将魔术方法添加到NSObject.在这里进行更详细的解释:https://github.com/TomSwift/UIWebView-TS_JavaScriptContext
  1. Add a magic method to NSObject via a category. Explained in more detail, here: https://github.com/TomSwift/UIWebView-TS_JavaScriptContext

@implementation NSObject (magic)
- (void) webView: (id) unused didCreateJavaScriptContext: (JSContext*) ctx forFrame: (id) frame
{
    // ...
}
@end

这篇关于访问 UIWebView 的 JavaScriptCore 引擎的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

硬件音量按钮更改应用程序音量
Hardware Volume buttons change in app volume(硬件音量按钮更改应用程序音量)...
2024-08-12 移动开发问题
10

Cocos2d - 如何检查不同层中对象之间的交集
Cocos2d - How to check for Intersection between objects in different layers(Cocos2d - 如何检查不同层中对象之间的交集)...
2024-08-12 移动开发问题
8

恢复游戏 cocos2d
Resume game cocos2d(恢复游戏 cocos2d)...
2024-08-12 移动开发问题
6

Cocos2D + 仅禁用 Retina iPad 图形
Cocos2D + Disabling only Retina iPad Graphics(Cocos2D + 仅禁用 Retina iPad 图形)...
2024-08-12 移动开发问题
10

如何将 32 位 PNG 转换为 RGB565?
How to convert 32 bit PNG to RGB565?(如何将 32 位 PNG 转换为 RGB565?)...
2024-08-12 移动开发问题
21

正确的 cocos2d 场景重启?
Proper cocos2d scene restart?(正确的 cocos2d 场景重启?)...
2024-08-12 移动开发问题
7