Adobe® SVG Viewer for Macintosh
Release Notes
Version 1.0 (Build 94)
Contents
About the SVG Viewer
The Adobe SVG Viewer supports Stylable SVG from the "last call" W3C draft
specification for Scalable Vector Graphics published on 3/3/00. Please
keep in mind that the specification is under development, and will continue to
evolve until it is made a recommended specification sometime later in the year
2000.
How to install the SVG Viewer
- Before installing, please close any application which you have
used to view SVG with an old version of the control.
- Execute the downloaded file.
How to copy Netscape plug-ins into other Browsers
If you install another copy of Netscape or Internet Explorer which
is supported by the Netscape plug-in, you can copy the following files
into your plug-ins folder to view SVG from within that browser:
How to view SVG files in your Web browser
Once you install the Adobe SVG Viewer, you should be able to view any
SVG file that you export from Illustrator in any supported Web browser.
How to turn artwork into SVG
You can export SVG from Illustrator 9. (To create SVG artwork with
Illustrator 8.01, install the Adobe Illustrator SVG format plug-in,
which works with the English version of Illustrator 8.01.) You can
create your artwork in Illustrator, export it as SVG, and then add any
JavaScript interactivity, animation, or filter effects by hand.
Style attributes (or style attributes that use entity references)
render more quickly than embedded stylesheets.
System Requirements
- System 8.5 through 9.0
- Netscape Navigator or Communicator versions 4.07 through 4.73, or
Internet Explorer 5.0 or higher (static SVG only)
- 10 MB of hard disk space
- 48 MB of RAM recommended
Note: The SVG Viewer installer increases the memory partitions for
supported browsers so that you can view SVG correctly. If you decrease the
browser memory partitions, you might not be able to view some SVG graphics any
more. The following table lists the memory required for each browser:
| Virtual Memory On | Virtual Memory Off |
| Minimum | Preferred | Minimum | Preferred |
Internet Explorer | 9MB | 9MB | 12MB | 12MB |
Netscape | 11MB | 13MB | 18MB | 20MB |
Known Problems with the SVG Viewer
All Browsers
- The SVG Viewer currently treats glyph-orientation-vertical as if it were
0 by default, when the specified default is 'auto'. This means that in order
for this property to work correctly in the future when the Viewer supports it,
you'll need to include the style "glyph-orientation-vertical:0" on any
vertical text.
- It's possible for elements near the edge of an SVG graphic to not receive a
mouseout event.
- For filter effects with
filterUnits="objectBoundingBox"
, the
Viewer currently treats lengths on filter nodes as if the filterUnits
were userSpaceOnUse
.
- The Mac Viewer is unable to handle very short audio clips. To help insure
that a short audio clip is not dropped, it's best to include some leading
silence (or some other snippet of audio which can be dropped), and then adjust
the timing accordingly.
Internet Explorer
- Internet Explorer on the Macintosh does not provide JavaScript access to
plug-ins. This means that the Adobe SVG Viewer plug-in for the Macintosh can't
use JavaScript, and so SVG viewed in Internet Explorer for the Macintosh won't be
interactive (although declarative animation still works). Additional side-effects
of this are that the "View Source" command is not supported on Internet Explorer
on the Mac, and the "About Adobe SVG Viewer" command goes to the SVG page at Adobe.com
instead of displaying the about box graphic.
- Internet Explorer may crash if you view complex SVG files. You can usually
work around this problem by increasing Internet Explorer's memory partition.
- Do not use the deprecated
align
attribute on the embed
tag when embedding SVG files in HTML. Internet Explorer on the Mac will often not
draw or print plug-ins that are embedded with these attributes.
- Internet Explorer will sometimes fail to pass the SVG file on to the
Viewer (it will pass an empty file, instead) if the SVG file has a
<script>
element in it, and no XML prolog. Instead,
Internet Explorer will try to interpret the SVG file as HTML, even if the
server is sending the correct MIME type for SVG. To work around this problem,
make sure you always include an XML prolog in all SVG files.
- If you want to drag and drop an SVG file from the Finder into Internet
Explorer 5, you must make sure that the Mac file type is 'svg ' ("svg" followed
by a space), or else Internet Explorer 5 will try to parse the SVG file itself
instead of passing the file to the Adobe SVG Viewer (and Internet Explorer 5
does not know how to display SVG files).
Netscape
- When you leave a Web page, Netscape can often unload the Adobe SVG Viewer
plug-in before Netscape terminates all scripts running in the HTML. Therefore
you should be careful when writing scripts to check to see if the plug-in is
still loaded before you attempt to access the SVG DOM from
setTimeout
or setInterval
callbacks in your HTML
JavaScript.
- Due to design limitations of Netscape, avoid using HTML with the following form:
<a href="#" onclick="myScriptWhichModifiesSVG()">
The problem is that JavaScript responds to the onclick event and
begins executing the script, but then Netscape also responds to the
fact that you clicked on a link, and interrupts JavaScript to re-load
the current page. This conflict can be avoided by re-writing the code
as follows:
<a href="javascript:myScriptWhichModifiesSVG()">
- Due to Netscape script engine limitations, the
svgDocument
object is not
defined in JavaScript functions declared within SVG <script>
elements. To
work around this, you can retrieve the SVG document object from from withing SVG event
handlers by calling getTarget
on the evt
object which is passed
in. For example:
// Retrieve the SVG document object:
var directTarget = evt.getTarget();
var svgDocument;
if( directTarget.getNodeType() != 9 ) // if not DOCUMENT_NODE
svgDocument = directTarget.getOwnerDocument();
else
svgDocument = directTarget;
- Due to a bug in Netscape, if you set your browser cache to 0 bytes, you must click
shift-reload in the Netscape toolbar if you want to reload the contents of an SVG graphic
that has been modified on the server.
- If a JavaScript event handler contains an error, any subsequent JavaScript will fail to
execute. This is due to a bug in Netscape's handling of scripts executed by plug-ins.
- Due to Netscape script limitations, you can't change the URL of another frame from
an SVG event handler.
- Due to Netscape script engine limitations, calling the
alert()
function from within an SVG event handler might not work, and it might cause
subsequent JavaScript to no longer execute. Similar problems occur for any
Netscape modal window, including the security privileges window.
- There is a bug in Netscape involving plug-ins that use JavaScript. If you load a
page with a plug-in that uses JavaScript and then disable Java and quit the browser,
Netscape will crash.
- Netscape does not always allow you to access the
document.embeds[]
array from within an SVG script. To work around this, use document.mySVG
,
where mySVG
is the name of your embed object.
- Currently, you must increase your Netscape memory partition to at least
35 MB to be able to print SVG.
- There is a bug in the Netscape plug-in API involving frames. To work around it,
do not use the <a href="some.svg" target="some-frame"> format to display
SVG content in another frame which is already displaying SVG. Instead, use the
"setSrc(url)" method of the SVG Plugin in the target frame.
- If you try to view multiple SVG files at once, you may run into Netscape
memory limitations, resulting in a failure to load the SVG file. In this case,
you can increase Netscape's memory partition to allow you to view more SVG
files at once.
- Netscape has a fatal bug in its code for handling full-page printing of plug-ins on
the Mac. We have implemented a temporary work-around which does not yet allow you to
cancel full-page SVG printing on the Mac--in this case the system will be unresponsive
until the page has printed.
- Netscape 4.05 for the Mac has a bug in the plug-in API such that it will not load some
plug-ins, falsely indicating that there is insufficient memory.
- Netscape has a bug with the way it handles plug-ins in tables, and the bug becomes
more obvious the deeper you nest the tables. Netscape tells the plug-in to draw on the
wrong part of the page, and there's no way for the plug-in to know that it's the wrong
part. Therefore we recommend that you avoid using tables with the Adobe SVG Viewer on
the Mac.
- All Netscape 4.x versions on the Mac have a bug involving printing pages
that contain embedded plugins. If you print a Web page from one of these
browsers and then hit the "back", "home", and "back" buttons several times,
Netscape will eventually crash. If you wait about ten seconds after printing,
Netcape is sometimes able to recover and avoid the crash.
- Due to a bug in the way Netscape handles plug-ins and frames, if you have
a frameset which has a frame that links to a plug-in which displays full-page
in the same frame, Netscape will crash if you follow the link, click the back
button, and then follow a link to another full-page plug-in which displays in
that same frame.
- Netscape on the Mac reloads pages in frames when you resize the
window. Because of this, any SVG DOM object that JavaScript holds on to will
point to an old version of the document once the window is re-sized. To work
around this problem, do not cache SVG DOM objects in JavaScript variables
between event handler, setTimeout, or setInterval calls.
Contact Information
To report bugs and/or provide feedback, please go to the SVG Web Center on Adobe.com.
Copyright Notice
© Copyright 1998-2000 by Adobe Systems Incorporated. All rights reserved.
Adobe and Illustrator are trademarks of Adobe Systems
Incorporated. Windows and Windows NT are registered trademarks of
Microsoft Corporation in the United States and/or other countries. Mac
OS and TrueType are trademarks of Apple Computer, Inc. in the United
States and/or other countries. All other trademarks are property of
their respective owners.