• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Calling javascript from Cocoa 'facelessly'
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Calling javascript from Cocoa 'facelessly'


  • Subject: Calling javascript from Cocoa 'facelessly'
  • From: Geoffrey Holden <email@hidden>
  • Date: Fri, 2 Jul 2010 21:32:55 +0100

Thanks for this.  I tried it, checking that provisionalDataSource is nil before continuing as per the documentation, but sadly I still get the same result - regardless of whether I have the real javascript function name or a made up one, and regardless of whether the URL I use is real or imaginary.  Most frustrating.  I checked that my NSRunLoop was working properly by using sleep - and it is.

Perplexed.  Any other ideas?


On 30 Jun 2010, at 19:30, Michael Ash wrote:

> On Wed, Jun 30, 2010 at 1:01 PM, Geoffrey Holden
> <email@hidden> wrote:
>> I realize that this is a hell of a big query, and I'm not entirely sure that I've given enough information for anyone to help answer it.  At the very least, I guess I'm hoping for a reference to some really solid documentation on how to do what I'm trying to do - the documentation on ADC seems to be a little light in this area.
>
>> From the code you've posted, I suspect the problem is that the page
> hasn't actually loaded by the time you try to run your JS code.
> WebView generally works asynchronously. Something like [mainFrame
> loadRequest:request] will return quickly and the WebView will not
> actually load things until the runloop runs, and then you'll get
> notified later on when it's done loading.
>
> What you'll want to do is call loadRequest:, then run the NSRunLoop on
> the main thread until your load delegate is told that the page is done
> loading. Then you should be able to do your JS stuff.
>
> Note that it is possible, and not all that hard, to run an NSRunLoop
> in a faceless program, it just requires a bit more manual intervention
> than in a GUI app where it's all set up for you.
>
> If you're already doing that and your code was just abbreviated, well,
> ignore the above....
>
> Mike
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>

> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Calling javascript from Cocoa 'facelessly'
      • From: Izidor Jerebic <email@hidden>
  • Prev by Date: Re: Capturing output from another task with elevated privilages
  • Next by Date: Sample code for supporting pinch zoom in Mac OS X?
  • Previous by thread: NSMatrix setState and setSelectionFrom
  • Next by thread: Re: Calling javascript from Cocoa 'facelessly'
  • Index(es):
    • Date
    • Thread