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