[Laszlo-dev] Modifying someView.sprite.__LZdiv.innerHTML
Max Carlson
max at openlaszlo.org
Thu Aug 20 16:02:32 PDT 2009
view.getMCRef() just delegates to view.sprite.getMCRef() - similar to
view.setWidth() delegating to view.sprite.setWidth(). It's a style
thing - we only support methods that can be called from within the view
system.
Raju Bitter wrote:
> Her'es another question:
>
> it seems like:
>
> someView.getMCRref().innerHTML
>
> works as well as
>
> someView.sprite.getMCRef().innerHTML
>
> And looking into the code I discover, that LaszloView#getMCRef just does:
> function getMCRef () :* { return this.sprite.getMCRef(); }
> Any reason for doubling that behavior?
> - Raju
>
> On Aug 21, 2009, at 12:02 AM, Max Carlson wrote:
>
>> There is the view.getMCRef() method which returns a reference to the
>> view's div (or movieclip if you're in Flash). It's expedient, but
>> dangerous - so your mileage may vary!
>>
>> I filed an improvement request to give this method a better name:
>> http://jira.openlaszlo.org/jira/browse/LPP-8400
>>
>> Raju Bitter wrote:
>>> I don't agree. Modifying innerHTML of DIVs is really valuable for
>>> mixed runtime applications, or components which are re-used across
>>> runtimes (Flash Google maps and Ajax Google Maps, for example).
>>> Using iFrames adds complexity in such a case. But you are right,
>>> poking at internals is never safe, but in this case, adds some fun. :-)
>>> Honestly, the more important DHTML runtime becomse, the greater is
>>> the need for simple DOM modification inside OpenLaszlo apps. @Max:
>>> what do you think?
>>> - Raju
>>> On Aug 20, 2009, at 10:46 PM, P T Withington wrote:
>>>> You're poking at internals here, so all bets are off.
>>>>
>>>> Obviously, you are free to do so, because it's open source, but the
>>>> sprite API is an internal API.
>>>>
>>>> What's wrong with the <html> tag, which is the supported way to
>>>> embed html in LZX? It would be better to improve that to meet your
>>>> needs, if possible.
>>>>
>>>> On 2009-08-20, at 16:33EDT, Raju Bitter wrote:
>>>>
>>>>> There as a question in the forum on how you can attach custom HTML
>>>>> code to a view, not using the HTML tag.
>>>>> http://forum.openlaszlo.org/showthread.php?p=45147&posted=1#post45147
>>>>>
>>>>> I suggested to do:
>>>>>
>>>>> <canvas proxied="true">
>>>>>
>>>>> <view id="targetview" width="320" height="260" />
>>>>> <handler name="oninit">
>>>>> <![CDATA[
>>>>> var player="<embed type='application/x-shockwave-flash'
>>>>> src='http://videodetective.net/flash/players/player4.3.132.swf?customerid=120000&publishedid=88 8439&playerid=69&pversion=4&playlistid=0&videokbra
>>>>> te=750&sub=&debug='
>>>>> pluginspage='http://www.macromedia.com/go/getflashplayer' allowScriptAccess='always'
>>>>> flashvars='allowFullScreen=true' allowfullscreen='true'
>>>>> height='260' width='320'></embed>";
>>>>> targetview.sprite.__LZdiv.innerHTML = player;
>>>>> Debug.write(targetview.sprite.__LZdiv);
>>>>> ]]>
>>>>> </handler>
>>>>>
>>>>> </canvas>
>>>>>
>>>>> Is that something which should be done? Seems to work...
>>>>>
>>>>> - Raju
>>>>
>>
>> --
>> Regards,
>> Max Carlson
>> OpenLaszlo.org
>
--
Regards,
Max Carlson
OpenLaszlo.org
More information about the Laszlo-dev
mailing list