I'm using an svg image as a navigation map, with areas that can be clicked.
I've got the interactivity working via an external javascript, but when I
try to call web2py_component() I get an error telling me that
web2py_component is not defined. I assumed that I could call it since this
script is loaded after page load. I'm not sure where the problem lies, so
here is how it's all set up:
This is my js function to refresh the component (in
static/js/svg_interactions.js):
function go_there(evt){
var tobj = evt.currentTarget;
var oname = tobj.getAttribute('id');
var the_url = "/paideia/exploring/index.load/?loc=" + oname
web2py_component("/paideia/exploring/index.load","page")
}
This script is linked into the svg file (in the xml itself, as an immediate
child of the svg element) like this: <script type="text/javascript"
xlink:href="../js/svg_interactions.js" />
The function go_there() is called via the "onclick" attribute of any child
entity in the svg file (onclick="go_there(evt)").
The svg file is embedded in a view like this: <embed src='{{=map_image}}'
type='image/svg+xml' />
Again, everything is working nicely except that svg_interactions.js doesn't
seem to be aware of web2py_component().
Thanks,
Ian