我正在尝试在WKWebView控件中加载网页而不将其作为子视图加载:
WKPreferences *preferences = [[WKPreferences alloc] init];
preferences.javaScriptEnabled = YES;
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
configuration.preferences = preferences;
WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:configuration];
webView.navigationDelegate = self;
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setValue:@"Safari" forHTTPHeaderField:@"User-agent"];
[webView loadRequest:urlRequest];
Run Code Online (Sandbox Code Playgroud)
我正在尝试加载的网址是:
https://www.google.com/search?q=mustang
Run Code Online (Sandbox Code Playgroud)
WKNavigationDelegate未调用以下方法:
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
[webView evaluateJavaScript:@"document.getElementsByTagName('html')[0].outerHTML" completionHandler:^(id result, NSError *error) {
NSLog(@"Result %@", result);
}];
}
Run Code Online (Sandbox Code Playgroud)
我的NSObject类符合WKNavigationDelegate协议.
我还需要做点什么吗?
非常感谢任何帮助.
下面的代码是打印以下消息: Error Domain=NSXMLParserErrorDomain Code=111 "The operation couldn’t be completed. (NSXMLParserErrorDomain error 111.)
mainUrl = [NSURL URLWithString:@"http://www.carris.pt/pt/carreiras"];
NSString *urlContents = [NSString stringWithContentsOfURL:mainUrl encoding:NSISOLatin1StringEncoding error:nil];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:[urlContents dataUsingEncoding:NSISOLatin1StringEncoding]];
[xmlParser parse];
NSLog(@"%@", [xmlParser parserError]);
Run Code Online (Sandbox Code Playgroud)
有人有线索吗?正如您在代码中看到的那样,html采用ISO-8859-1编码.
更新:我将网址提交到html验证器网站:http://validator.w3.org/,它发现了30多个错误.我认为这与错误有关.但我可以用HPPLE解析html.
如果我创建一个名为MTViewController的自定义类派生自UIViewController,我无法在XCode 4.5中的Interface Builder中的自定义类组合框中选择它.谁知道为什么?
我正在尝试在Objective-C中实现自定义类的键控下标:
这就是我在标题中的内容:
- (id)objectAtKeyedSubscript:(id <NSCopying>)key;
Run Code Online (Sandbox Code Playgroud)
这就是我在实施中所拥有的:
- (id)objectAtKeyedSubscript:(id <NSCopying>)key
{
id result = self.attributes[key];
return result;
}
Run Code Online (Sandbox Code Playgroud)
我这样使用它:
element[@"href"];
Run Code Online (Sandbox Code Playgroud)
在我之前的地方:
[element objectForKey:@"href"];
Run Code Online (Sandbox Code Playgroud)
其中objectForKey的实现方式如下:
- (NSString *) objectForKey:(NSString *) theKey
{
return [[self attributes] objectForKey:theKey];
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么?做错了?
我正在尝试实现 Google 指南上的自定义 Google 登录按钮示例,但它甚至没有调用回调。如果我使用纯 HTML 和 Javascript,它可以工作,但不能在 Svelte 中:
自定义GoogleSignInButton.svelte
<script>
function onSuccess(googleUser) {
console.log("Logged in as: " + googleUser.getBasicProfile().getName());
}
function onFailure(error) {
console.log(error);
}
function renderButton() {
gapi.signin2.render("my-signin2", {
scope: "profile email",
width: 240,
height: 50,
longtitle: true,
theme: "dark",
onsuccess: onSuccess,
onfailure: onFailure
});
}
</script>
<svelte:head>
<script
src="https://apis.google.com/js/platform.js?onload=renderButton"
async
defer>
</script>
</svelte:head>
<div id="my-signin2" />
Run Code Online (Sandbox Code Playgroud)
我的头标签中也有元。
我有一个View控制器,当点击表格单元格时,它具有自定义推送转换,并在点击后退栏按钮项目时执行标准弹出转换.问题是当我尝试从前一个控制器转到相同的视图控制器时,应用程序崩溃了.以下是UINavigationControllerDelegate我正在实现的功能:
- (id<UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation fromViewController:(UIViewController *)fromVC toViewController:(UIViewController *)toVC
{
return (operation == UINavigationControllerOperationPush ? animator : nil);
}
Run Code Online (Sandbox Code Playgroud)
任何线索都表示赞赏!
提前致谢.