I've been consistently unable to get SVG and HTML to talk to one another when 
the SVG appears in the W3C supported <object>. Don't know if I'm having server 
config issues or not, but have not wanted to give up altogether. As I mentioned 
earlier, <embed> works like a charm in every browser I've tried. It is the only 
technique I've found that is supported by all browsers, but alas, it is not by 
according to the specs. The world of browsers and the world of standards seem 
to be almost nonoverlapping when it comes to SVG <--> HTML communication.

However, I've cobbled together a little ditty using frames which does almost 
what I want it to: http://srufaculty.sru.edu/david.dailey/svg/frameSVG.html.

It works in FF1.5, Opera and IE6/7(ASV) (and incidentally gets around the nasty 
ActiveX need to click to activate)

In it there is a frameset. The frameset uses a script to build HTML into the 
first frame; it then assigns the URL of the second frame to a minimal SVG 
document. The minimal SVG document consists of the following:

<svg xmlns="http://www.w3.org/2000/svg";
xmlns:xlink="http://www.w3.org/1999/xlink"; 
onload="top.receive(document)">
<rect id="RECT" x="0" y="0" height="100%" width="100%" fill="#edb"/>
</svg>

In the frameset, is the function receive() which recognizes the SVG Document 
(passed to it from the SVG itself). SVGdoc is then used later for some simple 
dynamic stuff that succeeds in modifying the SVG doc from HTML and in running 
functions in the HTML from events in the SVG.

function receive(D){
 SVGdoc=D
 SVGRoot=SVGdoc.documentElement
 var s="top.makeCircle(evt.clientX,evt.clientY)"
 SVGRoot.setAttribute("onclick",s)
}

What remained a bit distressing about this experiment, is that I was unable to 
locate the SVG Document from IE using framename.document or 
document.getElementById(frameid).getSVGDocument() or framename.contentWindow or 
framename.contentDocument or any imaginable permutation of objects, attributes, 
children and parents. As soon as I was relatively sure that I was looking in 
the right place, IE gave me an access violation error (even though both 
documents were hosted locally from the same directory). It would be nice to 
allow the HTML doc to perform surgery on an arbitrary SVG doc without having to 
have the SVG doc send its permission to do so, as in this example.

So my question is, is there anyway in IE to find (for subsequent manipulation) 
the document inside an HTML frame, when the document happens to be SVG? A) 
framename.document works just find when I have HTML in there instead of SVG, B) 
framename.document gives the access violation C) neither Opera nor Firefox has 
this problem with framename.document and SVG content.

David


[Non-text portions of this message have been removed]



-----
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my 
membership"
---- 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/svg-developers/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to