2010-09-25 5 views
2

Problème: J'ai un webview qui charge une page de Http://somerandomsite-here avant que la page ne soit chargée Je voudrais ajouter dans le bloc <head> une référence à un .js qui est dans mon paquet.Comment injecter html dans un webview?

Comment faire cela?

Répondre

1

trouvé la réponse moi-même:

NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"js"]; 
NSString *jsCode = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; 
    [sourceWeb stringByEvaluatingJavaScriptFromString:jsCode]; 

à test.js placer ce code dans une fonction que vous appelez (voir ci-dessous)

Function setup() { var fileref=document.createElement('script') 
     fileref.setAttribute("type","text/javascript") 
     fileref.setAttribute("src", "filename.js");} 

quand vous pensez qu'il est juste le faire pour vous cas particulier, appelez ceci:

NSString *setup = [NSString stringWithFormat:@"Setup()"]; 
[sourceWeb stringByEvaluatingJavaScriptFromString:setup]; 
+0

gardez dans mon que cette approche ne fonctionne pas si vous utilisez des rappels dans votre JS. Si quelqu'un sait s'il vous plaît allumer! – amok

Questions connexes