Neil Hodgson wrote:

> Frank Hansen
> 
>> I was able to get your exaple to work. (using mozilla version 0.7)
> 
> 
>    Good - it is a very simple plugin.
> 
> 
>> But I _do_ need to be able to communicate with this plugin using
>> LiveConnect, which I have not been able to get working. My "dream"
>> example could be as simple as an plugin with a text widget (sound
>> familliar?), AND the possibility to set the contents of this textbox via
>> Javascript.
> 
> 
>    You are aware that LiveConnect is dead and you have to use XPCOM?
> 
>    Its not too hard to do an XPCOM interface, here is one way:
>    1. Describe the interface in XPIDL.
>    2. Create a type library for the interface.
> xpidl -m typelib -w $(XPIDL_INCLUDES) IMe.idl
> 
>    3. Create a header for the interface.
> xpidl -m header -w $(XPIDL_INCLUDES) -o $* IMe.idl
>    4. Include the header in your code, define the interface ID (IID), derive
> your main plugin instance class from the interface, use one of the
> NS_IMPL_ISUPPORTS* macros to implement basic XPCOM, and implement the
> methods of the interface.
>    5. Copy the XPTs to the components directory and the plugin to either the
> components or plugin directories or both - there may now be an official
> location that works but I've had this fail so many times I always copy to
> both.
>    6. From JS on HTML pages you may need to ask for privileges and use a
> long form of reference to talk to the interface.
> netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
> var me = document.theMe.IMe;
> me.hello();
>    7. I've probably forgotten something.
> 
>    If I find some time, I'll try to add this to evmoz.
> 
>    Neil

Are you sure about that?  That doesn't sound right.

--Chris

-- 
------------
Christopher Blizzard
http://people.redhat.com/blizzard/
------------


Reply via email to