我正在使用 iOS 7 的核心 javascript 库来尝试获取图像的 URL。我创建了一个从 URL 获取图像的请求,但我得到的是一些 javascript。从该 javascript 中,我想提取一个字符串,其中包含我要显示的图像的 URL。这是我用来获取 URL 的代码:
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:curURL]];
NSString *javascriptString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"data string = %@", javascriptString);
javascriptString 现在是:
<script>
var url = window.location.pathname + window.location.hash;
if(window.location.search && window.location.search.length > 1){
url += window.location.search; // #189617
}
var loc = 'https://test.myURL.com/?ec=302&startURL='+encodeURIComponent(url);
window.location = loc;
</script>
从这里,我想得到 loc 变量
NSString *windowJS = [NSString stringWithFormat:@"var window = %@", curURL];
JSContext *context = [[JSContext alloc] initWithVirtualMachine:[[JSVirtualMachine alloc] init]];
[context evaluateScript:windowJS];
[context evaluateScript:javascriptString];
JSValue *locURL = context[@"loc"];
NSLog(@"locURL: %@", locURL);
这个变量应该包含我想要显示的 jpg 图像的链接,但是我得到 locURL: undefined... 然后是一个错误。有没有办法设置窗口或任何其他解决方案来获取 loc var 的值?