ManOx
ManOx

Reputation: 1965

call custom js function in UIWebView

I'm trying to pre fill in fields to log in to a forum. However, I don't own the forum. So how do I link my own .js file so that I can fire a function that will pre fill the log in fields?

(Remember I don't own the servers that host the html files, so I cannot hook it up via HTML.)

Upvotes: 1

Views: 489

Answers (2)

Scrungepipes
Scrungepipes

Reputation: 37581

You can inject your own javascript into a page being displayed by a UIWebView by

1) Put your javascript into a file in your app bundle, for example something like this will inject myFunction().

var script = document.createElement('script'); 
script.type = 'text/javascript'; 
script.text = function myFunction()
{  
    alert("my function");
}; 
document.getElementsByTagName('head')[0].appendChild(script);

2) Load the .js file and run it using stringByEvaluationJavaScriptFromString:

3) If its important your myFunction() doesn't get added until the dom has loaded, then within the same .js file add some other JavaScript that will ensure that the code in part 1) doesn't get run until you get a dom loaded event.

Upvotes: 1

Tschallacka
Tschallacka

Reputation: 28712

cross domain javascript fails everytime.

use ajax to retrieve the page you wish.

$(document).ready(function(){
   jQuery.ajax(’forumlogin’).done(function(data)
     {
     $(’body’).html(data)
      })
 })

then fill in the forms using the forms element.

Upvotes: 0

Related Questions