What is it exactly that you are trying to do?

On Sat, Nov 29, 2008 at 4:15 PM, Aurimas <[EMAIL PROTECTED]> wrote:

>
> Problem is that commands.js can't access CmdUtils.CreateCommand() and
> create new commands.
>
> function cmd_load(){
>   CmdUtils.injectJavascript('file://C:/Disk/Web/ubiq/commands.js',
>    Utils.safeWrapper(function(){
>       CmdUtils.getWindowInsecure().testAlert(); // alerts 'ok'
>      CmdUtils.getWindowInsecure().createCommand(); // returns
> 'CmdUtils is not defined'
>    })
>  )
> }
>
> == commands.js ==
> function testAlert(){ window.alert('ok'); };
> function createCommand(){
>  CmdUtils.CreateCommand({
>    name: 'test',
>    preview: function(pblock){ pblock.innerHTML = 'command loaded'; }
>  });
> };
>
>
>
> On Nov 29, 5:40 pm, [EMAIL PROTECTED] wrote:
> > Aurimas,
> >
> > Are we still discussing Ubiquity commands?
> >
> > How about:
> >
> > CmdUtils.loadJQuery = function loadJQuery(func) {
> >   CmdUtils.injectJavascript(
> >     "file://C:/Disk/Web/ubiq/commands.js'",
> >     Utils.safeWrapper( function() {
> >       var oObjectWithinCommandJS =
> > CmdUtils.getWindowInsecure().ObjectWithinCommandJS;
> >       displayMessage(oObjectWithinCommandJS);
> >     })
> >   );
> >
> > - Mayuresh
> >
> >
> >
> > On Sat, Nov 29, 2008 at 2:25 PM, Aurimas <[EMAIL PROTECTED]>
> wrote:
> >
> > > Thanks for your answer. It works. But not for local files. This
> > > command doesn't work:
> >
> > > function cmd_load(){
> > >  jQuery.get('file:///C:/Disk/Web/ubiq/commands.js', function(data) {
> > >    window.alert(data);
> > >  });
> > > }
> >
> > > Is it possible to load a local file?
> >
> > > On Nov 29, 1:25 pm, Blair McBride <[EMAIL PROTECTED]> wrote:
> > > > Sorry for jumping in so late on this...
> >
> > > > CmdUtils.injectJavascript() will inject JavaScript into the *current
> tab
> > > > content*. Which means it will run with content privileges - not what
> you
> > > > want if you want it for your command. Then accessing that code opens
> the
> > > > possibility of other code from that page intercepting it, and gaining
> > > > chrome privledges - which would be very bad.
> >
> > > > The correct way of doing this is to load it via a XMLHttpRequest (ie,
> > > > Ajax). Using jQuery, the code would be:
> >
> > > > jQuery.get("http://example.com/script.js";, function(data) {
> > > >    eval(data);
> > > >    doStuff();
> >
> > > > });
> >
> > > > Just be very careful about what code you're fetching. Make sure you
> can
> > > > definitely trust it, as it will be running with full chrome
> privileges,
> > > > so can do everything a command can do. Ubiquity doesn't yet have an
> easy
> > > > way to ensure a safe sandbox, although it should by the time v0.2
> comes
> > > out.
> >
> > > > If its just JSON data, use Utils.decodeJson() instead - its always
> safe
> > > > to use that, even with untrusted data.
> >
> > > > Also, note that if any commands depend on the functionality in remote
> > > > code, they won't work until that code is loaded. So you may wish to
> put
> > > > all your commands (ie, calls to CmdUtils.CreateCommand()) inside the
> > > > callback (ie, where the call to doStuff() is). You could also load it
> > > > inside of every preview/execute method of the commands that use
> depend
> > > > on that code (I think the browser should cache the remote script
> > > > automatically).
> >
> > > > - Blair
> >
> > > > On 28/11/2008 4:39 AM, [EMAIL PROTECTED] wrote:
> >
> > > > > Hi,
> >
> > > > > I am not sure if this was covered before, but I have a external .JS
> lib
> > > > > that I want to be able to call within my ubiquity command. Can
> anyone
> > > > > give me any pointers? From some previous thread, I think
> > > > > CmdUtils.injectJavascript needs to be used. Is this correct?
> >
> > > > > thanks,
> >
> > > > > --
> > > > > Mayuresh
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"ubiquity-firefox" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/ubiquity-firefox?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to