FLASH CONTENT within DREAMWEAVER

Hi,
I have a web-page that has the following elements: A main
menu (Fireworks HTM) a submenu (also Fireworks HTM) and a FLASH
movie. Now the problem is that the client needs this site to run
off CD. So basically, she will hand this CD to her clients and they
will pop it in their cd-rom drive and click on the home page which
will open up in their browser.
Now, when i preview this on IE for Mac, it works fine. But
when i try and run the cd on a PC, the FLASH content doesn't load.
When i go into Internet Options > Tools and turn on 'Run Active
Content from CD' it loads and then works fine. But is there a way
to build this so that this doesn't need to be done?
I know this whole thing should probably be done in FLASH so
that its just an SWF file that needs to be run from the CD, but we
don't have the expertise to do this. So any help would be most
welcome.
Thanks,
Sandeep

I don't believe there is code to prevent this from happening
on a client computer. The default is enabled my Microsoft, what
should happen is a yellow bar should appear at the top of the
browser which will allow you view the content.
What might work is to use a program called Zinc by a company
call Multidmedia Limited www.multidmedia.com. Search the site for
samples, one of the samples is a Flash Browser this will run Flash
a browser that you can use. You will need to change the URL a bit
in the Flash code but it's very clear on how to do this.
What this will do is run your web site in a Flash browser I
did a quick test and I did not get any errors. The program will
create an EXE file. I also believe they have a MAC version if you
need one. With a simple "Autorun" call on the CD-ROM you could have
this up and running in not time.
Just be careful of how you call the pages. Since the web site
is not running from a Web server you need to make sure that your
links are local and not Site Root. The best way to test is to
disconnect your computer from your internet and see how it runs.
You want the CD to be self-contained and not have to get content
from the web (your end user may be on a laptop and not connected).
Good Luck

Similar Messages

  • Has anyone managed to embed flash content within there responsive HTML5 website?

    Has anyone managed to embed flash content within there responsive HTML5 website? I'm aiming to get my client gallery Flash based but don't want to sacrifice my responsive HTML5 layout to achieve this.
    I feel the Flash gallery would be more secure than my current option,
    Thanks in advance
    Katie xx
    http://www.katiegarcha.com

    It dawned on me what the problem was, in my Actionscript, I am using a XML sheet to call the pictures in the gallery. The XML sheet is located in the same folder as the actionscript, but not in the same folder as the html page, hence the Flash working when it is directly called but not when it is somewhere else. Once this dawned on me, I remembered that I used "short" urls for the images thinking of them all being in the same folder as the actionscript, but not thinking about their relative link from the location of the HTML page. So, I believe that if I change the relative urls to fit the location of the HTML instead of the location of the SWF page, it should work.

  • Centering a flash movie within Dreamweaver cs3 on Y axis

    I have published a movie in Flash cs3 which has generated an html document however the Flash movie is not automatically centered I have attempted to centrally align the movie within Dreamweaver cs3 by adding:
    <center> after the opening body tag and </center> befor the closing body tag
    This method has centered on the X axis but not the Y axis
    I would have put in a table or a div tag, but when I open the html doc in Dreamweaver I have no visible repressentation of the Flash movie in the design view as I would have if I had created an html document from scratch and draged the movie onto the page, all I can see is the "get flash" hypertext and some other text. I did actually experiment by creating a div tag and dragged my movie into it but ended up with two movies one sitting on top of the other when I ran it in a browser lol.  I'm quite intimdated by code and much prefer to work in the design view (wysiwyg and all that) which is quite restricting.
    Any advice for centering on the Y axis would be much apreciated, Thanks in advance, Dave

    I don't believe there is code to prevent this from happening
    on a client computer. The default is enabled my Microsoft, what
    should happen is a yellow bar should appear at the top of the
    browser which will allow you view the content.
    What might work is to use a program called Zinc by a company
    call Multidmedia Limited www.multidmedia.com. Search the site for
    samples, one of the samples is a Flash Browser this will run Flash
    a browser that you can use. You will need to change the URL a bit
    in the Flash code but it's very clear on how to do this.
    What this will do is run your web site in a Flash browser I
    did a quick test and I did not get any errors. The program will
    create an EXE file. I also believe they have a MAC version if you
    need one. With a simple "Autorun" call on the CD-ROM you could have
    this up and running in not time.
    Just be careful of how you call the pages. Since the web site
    is not running from a Web server you need to make sure that your
    links are local and not Site Root. The best way to test is to
    disconnect your computer from your internet and see how it runs.
    You want the CD to be self-contained and not have to get content
    from the web (your end user may be on a laptop and not connected).
    Good Luck

  • Why is my flash content not working on my dreamweaver created html site?

    This is a problem that's happening on my website I'm creating.  I created a quick test website to show you the problem on the fourm.  It's the same problem, and if you can provide the solution to this test website I can apply it to my main website.
    Test website on server:
    test331754952.net23.net
    What I did:
    -launched flash
    -typed "test" and made it spin 360 degrees
    -published swf
    -launched dreamweaver
    -created a site
    -moved swf to site folder
    -saved a html file to the site folder
    -in dreamweaver, went to insert, media, swf, then selected the swf I made
    -it inserted the swf, creating a gray placeholder for it
    -re-saved the html document, at which point dreamweaver created a folder named script and 2 files, an swf, and a javascript file
    Site Directory:
    Scripts Sub-Directory:
    What happens:
    -when I launch the swf on my machine, it plays fine
    -when I open the swf directly on the test website on the server, it plays fine
    -when I open the html with the embended swf on the test website on the server, it shows a gray box, then goes white
    -In dreamweaver, when I go to preview in browser and choose internet explorer, it tells me I don't have new flashplayer(I do: flashplayer 11) 
    Ie also pokes up a box at the bottom that says its not allowing content.  When I click allow content, it creates a gray box
    -In dreamweaver, when I go to preview in borwser and choose google chrome, it tells me flash player has stopped a potentionally unsafe operation.  When I close this dialog box, it gives me a gray box where my swf should be embeded.
    -I've tried changing global flash secuirty setting and it does nothing
    -I've tried visiting the test website on multiple computers in my household to no avail
    -I've tried having friends visit the site on their computer at their house to no avail
    -I did't touch the code on this test website-the code is exactly what dreamweaver generated
    Html Document Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
    </head>
    <body>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400" id="FlashID" title="test">
      <param name="movie" value="test.swf" />
      <param name="quality" value="high" />
      <param name="wmode" value="opaque" />
      <param name="swfversion" value="15.0.0.0" />
      <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
      <param name="expressinstall" value="Scripts/expressInstall.swf" />
      <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="test.swf" width="550" height="400">
        <!--<![endif]-->
        <param name="quality" value="high" />
        <param name="wmode" value="opaque" />
        <param name="swfversion" value="15.0.0.0" />
        <param name="expressinstall" value="Scripts/expressInstall.swf" />
        <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
        <div>
          <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
          <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
        </div>
        <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>
    <script type="text/javascript">
    swfobject.registerObject("FlashID");
    </script>
    </body>
    </html>
    Javascript file code(the one dreamweaver made when I inserted swf):
    /*! SWFObject v2.0 <http://code.google.com/p/swfobject/>
    Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
    This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
    var swfobject = function() {
    var UNDEF = "undefined",
      OBJECT = "object",
      SHOCKWAVE_FLASH = "Shockwave Flash",
      SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
      FLASH_MIME_TYPE = "application/x-shockwave-flash",
      EXPRESS_INSTALL_ID = "SWFObjectExprInst",
      win = window,
      doc = document,
      nav = navigator,
      domLoadFnArr = [],
      regObjArr = [],
      timer = null,
      storedAltContent = null,
      storedAltContentId = null,
      isDomLoaded = false,
      isExpressInstallActive = false;
    /* Centralized function for browser feature detection
      - Proprietary feature detection (conditional compiling) is used to detect Internet Explorer's features
      - User agent string detection is only used when no alternative is possible
      - Is executed directly for optimal performance
    var ua = function() {
      var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF && typeof doc.appendChild != UNDEF && typeof doc.replaceChild != UNDEF && typeof doc.removeChild != UNDEF && typeof doc.cloneNode != UNDEF,
       playerVersion = [0,0,0],
       d = null;
      if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
       d = nav.plugins[SHOCKWAVE_FLASH].description;
       if (d) {
        d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
        playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
        playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
        playerVersion[2] = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
      else if (typeof win.ActiveXObject != UNDEF) {
       var a = null, fp6Crash = false;
       try {
        a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".7");
       catch(e) {
        try {
         a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".6");
         playerVersion = [6,0,21];
         a.AllowScriptAccess = "always";  // Introduced in fp6.0.47
        catch(e) {
         if (playerVersion[0] == 6) {
          fp6Crash = true;
        if (!fp6Crash) {
         try {
          a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
         catch(e) {}
       if (!fp6Crash && a) { // a will return null when ActiveX is disabled
        try {
         d = a.GetVariable("$version");  // Will crash fp6.0.21/23/29
         if (d) {
          d = d.split(" ")[1].split(",");
          playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
        catch(e) {}
      var u = nav.userAgent.toLowerCase(),
       p = nav.platform.toLowerCase(),
       webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
       ie = false,
       windows = p ? /win/.test(p) : /win/.test(u),
       mac = p ? /mac/.test(p) : /mac/.test(u);
      /*@cc_on
       ie = true;
       @if (@_win32)
        windows = true;
       @elif (@_mac)
        mac = true;
       @end
      return { w3cdom:w3cdom, pv:playerVersion, webkit:webkit, ie:ie, win:windows, mac:mac };
    /* Cross-browser onDomLoad
      - Based on Dean Edwards' solution: http://dean.edwards.name/weblog/2006/06/again/
      - Will fire an event as soon as the DOM of a page is loaded (supported by Gecko based browsers - like Firefox -, IE, Opera9+, Safari)
    var onDomLoad = function() {
      if (!ua.w3cdom) {
       return;
      addDomLoadEvent(main);
      if (ua.ie && ua.win) {
       try {  // Avoid a possible Operation Aborted error
        doc.write("<scr" + "ipt id=__ie_ondomload defer=true src=//:></scr" + "ipt>"); // String is split into pieces to avoid Norton AV to add code that can cause errors
        var s = getElementById("__ie_ondomload");
        if (s) {
         s.onreadystatechange = function() {
          if (this.readyState == "complete") {
           this.parentNode.removeChild(this);
           callDomLoadFunctions();
       catch(e) {}
      if (ua.webkit && typeof doc.readyState != UNDEF) {
       timer = setInterval(function() { if (/loaded|complete/.test(doc.readyState)) { callDomLoadFunctions(); }}, 10);
      if (typeof doc.addEventListener != UNDEF) {
       doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, null);
      addLoadEvent(callDomLoadFunctions);
    function callDomLoadFunctions() {
      if (isDomLoaded) {
       return;
      if (ua.ie && ua.win) { // Test if we can really add elements to the DOM; we don't want to fire it too early
       var s = createElement("span");
       try { // Avoid a possible Operation Aborted error
        var t = doc.getElementsByTagName("body")[0].appendChild(s);
        t.parentNode.removeChild(t);
       catch (e) {
        return;
      isDomLoaded = true;
      if (timer) {
       clearInterval(timer);
       timer = null;
      var dl = domLoadFnArr.length;
      for (var i = 0; i < dl; i++) {
       domLoadFnArr[i]();
    function addDomLoadEvent(fn) {
      if (isDomLoaded) {
       fn();
      else {
       domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+
    /* Cross-browser onload
      - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/
      - Will fire an event as soon as a web page including all of its assets are loaded
    function addLoadEvent(fn) {
      if (typeof win.addEventListener != UNDEF) {
       win.addEventListener("load", fn, false);
      else if (typeof doc.addEventListener != UNDEF) {
       doc.addEventListener("load", fn, false);
      else if (typeof win.attachEvent != UNDEF) {
       win.attachEvent("onload", fn);
      else if (typeof win.onload == "function") {
       var fnOld = win.onload;
       win.onload = function() {
        fnOld();
        fn();
      else {
       win.onload = fn;
    /* Main function
      - Will preferably execute onDomLoad, otherwise onload (as a fallback)
    function main() { // Static publishing only
      var rl = regObjArr.length;
      for (var i = 0; i < rl; i++) { // For each registered object element
       var id = regObjArr[i].id;
       if (ua.pv[0] > 0) {
        var obj = getElementById(id);
        if (obj) {
         regObjArr[i].width = obj.getAttribute("width") ? obj.getAttribute("width") : "0";
         regObjArr[i].height = obj.getAttribute("height") ? obj.getAttribute("height") : "0";
         if (hasPlayerVersion(regObjArr[i].swfVersion)) { // Flash plug-in version >= Flash content version: Houston, we have a match!
          if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements
           fixParams(obj);
          setVisibility(id, true);
         else if (regObjArr[i].expressInstall && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) { // Show the Adobe Express Install dialog if set by the web page author and if supported (fp6.0.65+ on Win/Mac OS only)
          showExpressInstall(regObjArr[i]);
         else { // Flash plug-in and Flash content version mismatch: display alternative content instead of Flash content
          displayAltContent(obj);
       else {  // If no fp is installed, we let the object element do its job (show alternative content)
        setVisibility(id, true);
    /* Fix nested param elements, which are ignored by older webkit engines
      - This includes Safari up to and including version 1.2.2 on Mac OS 10.3
      - Fall back to the proprietary embed element
    function fixParams(obj) {
      var nestedObj = obj.getElementsByTagName(OBJECT)[0];
      if (nestedObj) {
       var e = createElement("embed"), a = nestedObj.attributes;
       if (a) {
        var al = a.length;
        for (var i = 0; i < al; i++) {
         if (a[i].nodeName.toLowerCase() == "data") {
          e.setAttribute("src", a[i].nodeValue);
         else {
          e.setAttribute(a[i].nodeName, a[i].nodeValue);
       var c = nestedObj.childNodes;
       if (c) {
        var cl = c.length;
        for (var j = 0; j < cl; j++) {
         if (c[j].nodeType == 1 && c[j].nodeName.toLowerCase() == "param") {
          e.setAttribute(c[j].getAttribute("name"), c[j].getAttribute("value"));
       obj.parentNode.replaceChild(e, obj);
    /* Fix hanging audio/video threads and force open sockets and NetConnections to disconnect
      - Occurs when unloading a web page in IE using fp8+ and innerHTML/outerHTML
      - Dynamic publishing only
    function fixObjectLeaks(id) {
      if (ua.ie && ua.win && hasPlayerVersion("8.0.0")) {
       win.attachEvent("onunload", function () {
        var obj = getElementById(id);
        if (obj) {
         for (var i in obj) {
          if (typeof obj[i] == "function") {
           obj[i] = function() {};
         obj.parentNode.removeChild(obj);
    /* Show the Adobe Express Install dialog
      - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75
    function showExpressInstall(regObj) {
      isExpressInstallActive = true;
      var obj = getElementById(regObj.id);
      if (obj) {
       if (regObj.altContentId) {
        var ac = getElementById(regObj.altContentId);
        if (ac) {
         storedAltContent = ac;
         storedAltContentId = regObj.altContentId;
       else {
        storedAltContent = abstractAltContent(obj);
       if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) {
        regObj.width = "310";
       if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) {
        regObj.height = "137";
       doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
       var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
        dt = doc.title,
        fv = "MMredirectURL=" + win.location + "&MMplayerType=" + pt + "&MMdoctitle=" + dt,
        replaceId = regObj.id;
       // For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element
       // In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
       if (ua.ie && ua.win && obj.readyState != 4) {
        var newObj = createElement("div");
        replaceId += "SWFObjectNew";
        newObj.setAttribute("id", replaceId);
        obj.parentNode.insertBefore(newObj, obj); // Insert placeholder div that will be replaced by the object element that loads expressinstall.swf
        obj.style.display = "none";
        win.attachEvent("onload", function() { obj.parentNode.removeChild(obj); });
       createSWF({ data:regObj.expressInstall, id:EXPRESS_INSTALL_ID, width:regObj.width, height:regObj.height }, { flashvars:fv }, replaceId);
    /* Functions to abstract and display alternative content
    function displayAltContent(obj) {
      if (ua.ie && ua.win && obj.readyState != 4) {
       // For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element
       // In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
       var el = createElement("div");
       obj.parentNode.insertBefore(el, obj); // Insert placeholder div that will be replaced by the alternative content
       el.parentNode.replaceChild(abstractAltContent(obj), el);
       obj.style.display = "none";
       win.attachEvent("onload", function() { obj.parentNode.removeChild(obj); });
      else {
       obj.parentNode.replaceChild(abstractAltContent(obj), obj);
    function abstractAltContent(obj) {
      var ac = createElement("div");
      if (ua.win && ua.ie) {
       ac.innerHTML = obj.innerHTML;
      else {
       var nestedObj = obj.getElementsByTagName(OBJECT)[0];
       if (nestedObj) {
        var c = nestedObj.childNodes;
        if (c) {
         var cl = c.length;
         for (var i = 0; i < cl; i++) {
          if (!(c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param") && !(c[i].nodeType == 8)) {
           ac.appendChild(c[i].cloneNode(true));
      return ac;
    /* Cross-browser dynamic SWF creation
    function createSWF(attObj, parObj, id) {
      var r, el = getElementById(id);
      if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
       attObj.id = id;
      if (ua.ie && ua.win) { // IE, the object element and W3C DOM methods do not combine: fall back to outerHTML
       var att = "";
       for (var i in attObj) {
        if (attObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries, like Object.prototype.toJSONString = function() {}
         if (i == "data") {
          parObj.movie = attObj[i];
         else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
          att += ' class=" + attObj[i] + "';
         else if (i != "classid") {
          att += ' ' + i + '="' + attObj[i] + '"';
       var par = "";
       for (var j in parObj) {
        if (parObj[j] != Object.prototype[j]) { // Filter out prototype additions from other potential libraries
         par += '<param name="' + j + '" value="' + parObj[j] + '" />';
       el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
       fixObjectLeaks(attObj.id); // This bug affects dynamic publishing only
       r = getElementById(attObj.id);
      else if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements: fall back to the proprietary embed element
       var e = createElement("embed");
       e.setAttribute("type", FLASH_MIME_TYPE);
       for (var k in attObj) {
        if (attObj[k] != Object.prototype[k]) { // Filter out prototype additions from other potential libraries
         if (k == "data") {
          e.setAttribute("src", attObj[k]);
         else if (k.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
          e.setAttribute("class", attObj[k]);
         else if (k != "classid") { // Filter out IE specific attribute
          e.setAttribute(k, attObj[k]);
       for (var l in parObj) {
        if (parObj[l] != Object.prototype[l]) { // Filter out prototype additions from other potential libraries
         if (l != "movie") { // Filter out IE specific param element
          e.setAttribute(l, parObj[l]);
       el.parentNode.replaceChild(e, el);
       r = e;
      else { // Well-behaving browsers
       var o = createElement(OBJECT);
       o.setAttribute("type", FLASH_MIME_TYPE);
       for (var m in attObj) {
        if (attObj[m] != Object.prototype[m]) { // Filter out prototype additions from other potential libraries
         if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
          o.setAttribute("class", attObj[m]);
         else if (m != "classid") { // Filter out IE specific attribute
          o.setAttribute(m, attObj[m]);
       for (var n in parObj) {
        if (parObj[n] != Object.prototype[n] && n != "movie") { // Filter out prototype additions from other potential libraries and IE specific param element
         createObjParam(o, n, parObj[n]);
       el.parentNode.replaceChild(o, el);
       r = o;
      return r;
    function createObjParam(el, pName, pValue) {
      var p = createElement("param");
      p.setAttribute("name", pName);
      p.setAttribute("value", pValue);
      el.appendChild(p);
    function getElementById(id) {
      return doc.getElementById(id);
    function createElement(el) {
      return doc.createElement(el);
    function hasPlayerVersion(rv) {
      var pv = ua.pv, v = rv.split(".");
      v[0] = parseInt(v[0], 10);
      v[1] = parseInt(v[1], 10);
      v[2] = parseInt(v[2], 10);
      return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
    /* Cross-browser dynamic CSS creation
      - Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php
    function createCSS(sel, decl) {
      if (ua.ie && ua.mac) {
       return;
      var h = doc.getElementsByTagName("head")[0], s = createElement("style");
      s.setAttribute("type", "text/css");
      s.setAttribute("media", "screen");
      if (!(ua.ie && ua.win) && typeof doc.createTextNode != UNDEF) {
       s.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
      h.appendChild(s);
      if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
       var ls = doc.styleSheets[doc.styleSheets.length - 1];
       if (typeof ls.addRule == OBJECT) {
        ls.addRule(sel, decl);
    function setVisibility(id, isVisible) {
      var v = isVisible ? "inherit" : "hidden";
      if (isDomLoaded) {
       getElementById(id).style.visibility = v;
      else {
       createCSS("#" + id, "visibility:" + v);
    function getTargetVersion(obj) {
         if (!obj)
             return 0;
      var c = obj.childNodes;
      var cl = c.length;
      for (var i = 0; i < cl; i++) {
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "object") {
           c = c[i].childNodes;
           cl = c.length;
           i = 0;
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param" && c[i].getAttribute("name") == "swfversion") {
          return c[i].getAttribute("value");
      return 0;
    function getExpressInstall(obj) {
         if (!obj)
             return "";
      var c = obj.childNodes;
      var cl = c.length;
      for (var i = 0; i < cl; i++) {
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "object") {
           c = c[i].childNodes;
           cl = c.length;
           i = 0;
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param" && c[i].getAttribute("name") == "expressinstall") {
           return c[i].getAttribute("value");
      return "";
    return {
      /* Public API
       - Reference: http://code.google.com/p/swfobject/wiki/SWFObject_2_0_documentation
      registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr) {
       if (!ua.w3cdom || !objectIdStr) {
        return;
       var obj = document.getElementById(objectIdStr);
       var xi = getExpressInstall(obj);
       var regObj = {};
       regObj.id = objectIdStr;
       regObj.swfVersion = swfVersionStr ? swfVersionStr : getTargetVersion(obj);
       regObj.expressInstall = xiSwfUrlStr ? xiSwfUrlStr : ((xi != "") ? xi : false);
       regObjArr[regObjArr.length] = regObj;
       setVisibility(objectIdStr, false);
      getObjectById: function(objectIdStr) {
       var r = null;
       if (ua.w3cdom && isDomLoaded) {
        var o = getElementById(objectIdStr);
        if (o) {
         var n = o.getElementsByTagName(OBJECT)[0];
         if (!n || (n && typeof o.SetVariable != UNDEF)) {
             r = o;
         else if (typeof n.SetVariable != UNDEF) {
          r = n;
       return r;
      embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) {
       if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || !heightStr || !swfVersionStr) {
        return;
       widthStr += ""; // Auto-convert to string to make it idiot proof
       heightStr += "";
       if (hasPlayerVersion(swfVersionStr)) {
        setVisibility(replaceElemIdStr, false);
        var att = (typeof attObj == OBJECT) ? attObj : {};
        att.data = swfUrlStr;
        att.width = widthStr;
        att.height = heightStr;
        var par = (typeof parObj == OBJECT) ? parObj : {};
        if (typeof flashvarsObj == OBJECT) {
         for (var i in flashvarsObj) {
          if (flashvarsObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries
           if (typeof par.flashvars != UNDEF) {
            par.flashvars += "&" + i + "=" + flashvarsObj[i];
           else {
            par.flashvars = i + "=" + flashvarsObj[i];
        addDomLoadEvent(function() {
         createSWF(att, par, replaceElemIdStr);
         if (att.id == replaceElemIdStr) {
          setVisibility(replaceElemIdStr, true);
       else if (xiSwfUrlStr && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {
        setVisibility(replaceElemIdStr, false);
        addDomLoadEvent(function() {
         var regObj = {};
         regObj.id = regObj.altContentId = replaceElemIdStr;
         regObj.width = widthStr;
         regObj.height = heightStr;
         regObj.expressInstall = xiSwfUrlStr;
         showExpressInstall(regObj);
      getFlashPlayerVersion: function() {
       return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
      hasFlashPlayerVersion:hasPlayerVersion,
      createSWF: function(attObj, parObj, replaceElemIdStr) {
       if (ua.w3cdom && isDomLoaded) {
        return createSWF(attObj, parObj, replaceElemIdStr);
       else {
        return undefined;
      createCSS: function(sel, decl) {
       if (ua.w3cdom) {
        createCSS(sel, decl);
      addDomLoadEvent:addDomLoadEvent,
      addLoadEvent:addLoadEvent,
      getQueryParamValue: function(param) {
       var q = doc.location.search || doc.location.hash;
       if (param == null) {
        return q;
        if(q) {
        var pairs = q.substring(1).split("&");
        for (var i = 0; i < pairs.length; i++) {
         if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
          return pairs[i].substring((pairs[i].indexOf("=") + 1));
       return "";
      // For internal usage only
      expressInstallCallback: function() {
       if (isExpressInstallActive && storedAltContent) {
        var obj = getElementById(EXPRESS_INSTALL_ID);
        if (obj) {
         obj.parentNode.replaceChild(storedAltContent, obj);
         if (storedAltContentId) {
          setVisibility(storedAltContentId, true);
          if (ua.ie && ua.win) {
           storedAltContent.style.display = "block";
         storedAltContent = null;
         storedAltContentId = null;
         isExpressInstallActive = false;
    Can someone please help!  I've looked and tried prety much everything.  If you can provide a solution I would GREATLY apreciate it!

    There is no Flash player version 15... as in your code:
    <param name="swfversion" value="15.0.0.0" />
    For some reason Adobe thought it would be a good idea to target a Flash player version (15) as default.....which may be out a couple years in the future. Go figure!!!
    If you don't like player version 9, change to 10 or 11.... just not 15 (yet).
    Best wishes,
    Adninjastrator

  • How to hide content in design view within Dreamweaver?

    How can I hide content in design view within Dreamweaver?
    I have a tabbed content menu that uses some javascript. Everything looks great in Live view, but when I go to design view, all the content goes way beyond the div. How can I make it to where I can hide the content in that div in design view or wrap it completely inside of there? It's really hard to explain which is why I provided some pictures!
    LIVE VIEW
    DESIGN VIEW
    Thank you in advance for all the help!
    Dalton

    Humm....... you want to hide it in Design View whilst working on the rest of the site?
    If that is the case set the menu container <div> to display: none; -
    <div id="menu" style="display: none;">This is the content menu</div>
    Then either set it to display: block; when you're ready to view it live or remove the style completely.

  • Dreamweaver embedded flash content will not load in IE7

    My company standard is IE7
    I'm charged with developing flv that will auto play on PC from a removable thumb drive.
    in addition it should be able to launch a url.
    I'm using CS4 Flash and Dreamweaver
    developing on a Mac.
    I've used action script 3 to program buttons that start, stop and launch url
    I've worked everything out on a Mac.it works fine in Mac environment.
    I've gotten swf files to autoplay on PC
    the PROBLEM?
    when I try load the html web page on the PC with IE7 the flash content (either a swf or flv embedded using Dreamweaver) does not load.
    IF I leave the IE specific html in the code IE7 returns a message that flash player needs to update. - IT has installed the latest version of flash player.
    if I extract the sniffer/alternative code the flash content does not load there is no message
    If the swf file auto loads and plays then Why is that a problem?
    action script -  to launch url execution launches as a security warning and the trusted settings window
    not very seamless eh?
    so the alternative is to play the flash content embedded in html and create launch url button in html . . . but ofcourse flash content won't load in IE7.
    I've not been able to test the code on any other version of IE
    I hope this is enough information to help if not let me know what you need to know . . .
    thanks in advance for any time you all spend on this.
    M

    So right now you have a SWF file that plays and FLV file and it's not loading in IE7.  Is the testing server that you are using NOT on your local machine?  The reason I ask this is because IE will typically block content if it is hosted on the local machine and treat it as a security risk, prompting the message you refer to.
    Also would it be possible for us to see the code you are using for the plugin?  Most users here will be able to help troubleshoot any issues with the HTML code if we can see it, however, there is a possibility that the fix may be in Flash, in which case you should cross-post this in the Flash forum as well for assistance just in case.

  • Neither images nor flash content display in DW or elsewhere

    I'm not sure what is going on. At first, I noticed that my
    Flash content wasn't working. It' won't even preview. When I press
    play, it goes white. Now I find that when I place images they won't
    preview either.

    And DO NOT work from the desktop. Always work within a
    defined site.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "Alan" <[email protected]> wrote in
    message
    news:C4EDCA2B.30C8F8%[email protected]..
    >
    >> I'm an idiot. Here's the url
    >>
    >>
    http://www.lccc.wy.edu/wingspan/index_fall08.html
    >>
    >
    > The flash doesn't show because the Scripts folder with
    the ActiveRun
    > javascript isn't uploaded.
    >
    > <script src="../Scripts/AC_RunActiveContent.js"
    >
    >
    http://www.lccc.wy.edu/Scripts/AC_RunActiveContent.js"
    > 404 not found.
    >
    > Find the Scripts folder in the root of the site and
    upload it.
    >
    > On the image:
    > It is there:
    >
    http://www.lccc.wy.edu/wingspan/wingspan/images/00Construction.jpg
    >
    > but it's a huge file in both pixel dimensions and file
    size, it's been
    > resized in dreamweaver's design view by dragging the
    corners, but not
    > resized in an image editor.
    >
    >
    > --
    > Alan
    > Adobe Community Expert, dreamweaver
    >
    >
    http://www.adobe.com/communities/experts/
    >
    >
    >

  • Are There Preset Flash Buttons In Dreamweaver CS4

    I have upgraded from Dreamweaver MX to CS4 and I'm looking for preset flash buttons that I can just insert within dreamweaver and I can't find any.  Maybe I'm looking in the wrong place?  I don't know how to create flash buttons just yet and If i need to start the journey of learning how please let me know.  I'm editing a site I created in MX so I want matching buttons and such lol.

    There aren't any flash buttons in DWCS4 anymore see Deprecated features in this link:
    http://help.adobe.com/en_US/Dreamweaver/10.0_Using/WS2C41F19D-502B-4fb5-8A54-4442E2127C84a .html
    Rgds!

  • Flash content will not load in IE7

    My company standard is IE7
    I'm charged with developing flv that will auto play on PC from a removable thumb drive.
    in addition it should be able to launch a url.
    I'm using CS4 Flash and Dreamweaver
    developing on a Mac.
    I've used action script 3 to program buttons that start, stop and launch url
    I've worked everything out on a Mac.it works fine in Mac environment.
    I've gotten swf files to autoplay on PC
    the PROBLEM?
    when I try load the html web page on the PC with IE7 the flash content (either a swf or flv embedded using Dreamweaver) does not load.
    IF I leave the IE specific html in the code IE7 returns a message that flash player needs to update. - IT has installed the latest version of flash player.
    if I extract the sniffer/alternative code the flash content does not load there is no message
    If the swf file auto loads and plays then Why is that a problem?
    action script -  to launch url execution launches as a security warning and the trusted settings window
    not very seamless eh?
    so the alternative is to play the flash content embedded in html and create launch url button in html . . . but ofcourse flash content won't load in IE7.
    I've not been able to test the code on any other version of IE
    I hope this is enough information to help if not let me know what you need to know . . .
    thanks in advance for any time you all spend on this.
    M
    To the moderator I apologize for an earlier "test" post I was unaware nay ignorant of a test forum . . .

    I am having the very same problem and have done exactly the same... generated my html through flash professional CS5.  It works great in IE8 but is just a blank page in IE7.  You did not post the solution, did you find one? 
    My flash generated code is here http://www.asessippi.com/test/calendar.html will all of the supporting files in the same folder, and nothing else in there. 
    Any suggestions?

  • Flash Content Deleted on Each Publish (svViewer) iWeb '11

    Hey everyone, hope you can help me out.
    So I have built an iWeb site for my wife's side business. There are lot of photos that I must show for each product she sells. The best way I found to do this and helps give the site a little "life" is to use svBuilder and create a flash photo gallery for each item. The photos are referenced from her Flickr gallery which keeps the flash file and the size of the website way down.
    Anyway, I create a gallery with svBuilder Pro and use a HTML widget to reference the flash file that is created. svBuilder provides the code which I paste into the snippet. SvBuilder also then exports all the files I need into a folde on my iMac. I then need to copy that content (flash file, css file, etc....about 250k of data) into the folder for the page I am working on for that product. Everything work great until I need to change one little thing on that page. It could be something like text or just moving a button. Once I republish changes in iWeb, the folder for that page on my iDisk that contains the flash content I manually transferred over is now gone. I need to re-upload that flash content each time, and for each page I change.
    This is a huge PITA as we are talking about 100 product pages each with it's own flash gallery. I understand what iWeb is doing. It doesn't see those files "IN" or "EMBEDDED" in the page, so it rewrites the folder to only include what iWeb "sees" in the program. What I want to find is a way to either:
    - Embed the flash files into the page in iWeb so iWeb actually uploads those files into the page folder on my iDisk without me manually having to do it each time.
    or more likely
    - Find an FTP or automated program that will scan my iDisk folders within my site and if it sees those flash gallery files missing, will automatically sync them with the hard files I have on my iMac.
    I am by no means a programmer (hence using iWeb) but I think Automater might be able to do it. Do any of you have any experience with this sort of thing? I thought I would ask here first.
    Here is the website if you want to see what I am doing:
    www dot bibsandbuttons dot com
    Marc

    Hey Roddy,
    Thanks for your help.
    After some research on the simpleviewer website, I found the code I needed to place into the snippet. For others that may have the issue, here what it looked like:
    <script type="text/javascript">
    var svCoreURL = 'http://web.me.com/username/Folderwhich_containssvcore/svcore/';
    </script>
    <script type="text/javascript" src="http://web.me.com/username/Folderwhich_containssvcore/svcore/js/simpleviewer.js"></script>
    <script type="text/javascript">
    var flashvars = {};
    flashvars.galleryURL = "http://web.me.com/username/Folderwhich_contains_gallery_xmlfile/gallery.xml";
    jQuery(document).ready(function () {
    SV.simpleviewer.load('sv-container', '100%', '100%', 'FFFFFF', true, flashvars);
    </script>
    So basically here is what is happening, and I am by no means a programmer coder, so some people may be able to read that and make sense of it, but I'll explain it in lay terms.
    When you use svBuilder to create a photo gallery, it spits out 2 things, the HTML code for the gallery and the files for it. What they tell you to do is to place the files svbuilder spits out (1 folder of "core" files, 1 html file, 1 xml gallery file) into the page you want the gallery. The folder with the "core" files (named "svcore") is the same no matter which gallery it applies to. So the easiest way for me was to have this in one location outside of my iWeb page so I didn't need to keep re-uploading that folder to my iDisk. Hence, the code:
    var svCoreURL = 'http://web.me.com/username/Folderwhich_containssvcore/svcore/';
    This references the "core" files that make up the gist of the photo gallery and keeps it in one place to where I never need to touch it.
    Where I was going wrong from my original post, was telling the gallery HTML page where to reference the gallery itself. Again, I was always putting it into the iWeb folder of files for that page. To get the gallery out of there, I just created a folder called "flash" in my Web>Sites folder on my iDisk. In the Flash folder, I have subfolders for each gallery I create. In those folders, contains the HTML and the XML file for the gallery. The key code I was missing, was telling it to reference the XML from an external location. That code required the "flashvar" command as you can see here:
    var flashvars = {};
    flashvars.galleryURL = "http://web.me.com/username/Folderwhich_contains_gallery_xmlfile/gallery.xml";
    Then I was banging my head against the wall because it still wasn't working, and I realized I missed the load command to load the flashvar, as noted here:
    SV.simpleviewer.load('sv-container', '100%', '100%', 'FFFFFF', true, flashvars);
    So now all my galleries are loaded from another folder outside my iDisk folder for the website and I can publish changes to each page with a gallery and never have to transfer files over. Since all my galleries reference photos stored on Flickr, the page loads quick and the website stays small.
    Hope this helps anyone else with this issue.
    Marc

  • Flash content is making my Adobe Acrobat X to crash (how to disable flash in the PDF documents?)

    Hello
    I have Adobe Acrobat X, and I have a PDF document of around 700 pages. Inside, I have several pages I've downloaded from different websites, some of these pages have flash animations (I mean adverts with flash), when I click in a certain page of my PDF document that has a flash animation inside, booom it crash automatically.
    How may I disable flash in my PDF documents?
    Thanks

    Realistically you can't. Flash is enabled in the Acrobat X Family via embedded code, as it not only runs content within a PDF but also runs several elements of the user interface, such as the Share Pane.
    If you know of a particular PDF file that is causing crashes, please submit it via a bug report.

  • Activate Flash Content in IE

    Hi,
    I have a flash content in my webpage, when viewed online
    particularly in Internet Explorer, it prompts for User Input to
    activate that flash component. I searched in the forums and there
    are few Java Scripts available. Few are only IE version specific
    scripts.
    Is there a common script / method to markup the webpage so
    that IE understands that there is a flash content that doesn't
    require user input to view or interact with ?
    Thanks in advance.
    amarnath

    It's IE-only behaviour as a result of changes Microsoft made
    several
    years ago to their browser, regarding how Active Content
    (Flash, Quicktime
    etc)
    is handled, after losing a high profile court case.
    http://blog.deconcept.com/2005/12/15/internet-explorer-eolas-changes-and-the-flash-plugin/
    Background:
    http://en.wikipedia.org/wiki/Eolas
    See also
    http://www.adobe.com/devnet/activecontent/
    If you're running Dreamweaver 8.0.2/CS3, the fix is already
    built into DW's
    interface.
    If not, try
    http://blog.deconcept.com/swfobject/
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "amar_nath" <[email protected]> wrote in
    message
    news:fb5j9u$pjt$[email protected]..
    > Hi,
    >
    > I have a flash content in my webpage, when viewed online
    particularly in
    > Internet Explorer, it prompts for User Input to activate
    that flash
    > component.
    > I searched in the forums and there are few Java Scripts
    available. Few are
    > only
    > IE version specific scripts.
    >
    > Is there a common script / method to markup the webpage
    so that IE
    > understands
    > that there is a flash content that doesn't require user
    input to view or
    > interact with ?
    >
    > Thanks in advance.
    > amarnath
    >

  • Which versions of Acrobat reader supports embedded Flash content?

    I was wondering which versions of Acrobat supports Flash files (or Flash content) that might be found embedded within PDF files?
    Specifically, does version 6, 7 or 8 have this capability?

    The wikipedia entry for Adobe Acrobat says this regarding Acrobat reader version 9:
    "Insert FLV (Flash) or H.264 video for direct playback in Adobe Acrobat and Adobe Reader."
    The way I read that, it says that the ability to handle pdf files with embedded flash content was introduced with Acrobat reader version 9, and did not exist in earlier versions of Acrobat reader.
    So are you sure that older Acrobat reader versions (specifically, version 6) is capable of correctly handling flash content embedded within a pdf file?

  • Get IE8 to display Flash content

    Does anyone have a bullet proof method for embedding Flash content so that it shows in all flavors of IE8 WITHOUT having the user change settings on their machine?
    I'm working on a project that was tested by a couple of people who could see the content then click on a link in the Flash content which loads a URL in the same page THEN when they hit the back button in their IE browser the Flash content doesn't show.
    I was using SWFObject to embed but have switched to a simple method shown below:
    <object type="application/x-shockwave-flash" id="cdbwidget" data="CDBabyStore_widget.swf?customerID=xhWv7J5EP8fi22rByrPcVg%3d%3d&byType=ByCustomer&si teURL=document.referrer&colorScheme=0x000000,0xE0E0E0,0xCCCCCC,0x666666,0x333333,0xFFFFFF, 0xFFFFFF" width="550" height="575">
        <param name="movie" value="CDBabyStore_widget.swf?customerID=xhWv7J5EP8fi22rByrPcVg%3d%3d&byType=ByCustomer&s iteURL=document.referrer&colorScheme=0x000000,0xE0E0E0,0xCCCCCC,0x666666,0x333333,0xFFFFFF ,0xFFFFFF" />
    </object>
    I've tested this on Windows 7 running IE7, 8 & 9 and it works flawlessly but two people are having the issue I noted above.
    Thanks for any tips.

    In a nutshell, if you've tested it and it works, it works. The two people who are having problems (there will probably be thousands more worldwide) have a setting in their Internet Options or in Windows that is causing the problem.
    You might want to run this through the Flash and Dreamweaver forums as well to get some more insight from people who are more skilled at Flash integration and older browser compatibility.

  • Flash content does not show when playing from server

    http://www.talkingboxmedia.com/demo/SWW-Final-C3/about/about.htm
    For some reason,...the flash content that we are using on
    this site shows
    fine locally on this page,...but not when viewing it from the
    server.....
    If you click on history, under about,.or on the home page,
    you can see that
    the image-player works on that page,..from the server,.....
    If anyone has an idea of what might be happening,..even just
    a
    clue,...thanks...
    darren

    >
    http://www.talkingboxmedia.com/demo/SWW-Final-C3/about/about.htm
    <script
    src="file:///D|/workplace/websitesmain/staging/songwritingworks/Scripts/AC_R
    unActiveContent.js" type="text/javascript"></script>
    <script type="text/JavaScript">
    fix the path to <script
    src="/Scripts/AC_RunActiveContent.js"
    type="text/javascript"></script>
    <script type="text/JavaScript">
    then find and upload the Scripts folder that's at the root
    level of the
    site.
    Alan
    Adobe Community Expert, dreamweaver
    http://www.adobe.com/communities/experts/

Maybe you are looking for

  • 8 Gig Memory Modules

    I have an HP Pavilion HPE h8-1120 Desktop PC with 8 Gig of RAM. I want to upgrade to the maximum allowable 16 Gig. There are only two slots so I'm looking for a pair of 8 gig sticks. Can't find any on HP's recommended vendors website. Any ideas? 

  • Enhance Method Problem

    I try to enhance a Method like described in this Thread... Re: Sending Email using the Outlook Client What I did so far... 1) In Transaction "bsp_WD_CMPWB"  I choosed Component "BP_ADDR" and created a copy in our "Z_CRM" EnhancementSet 2) I used the

  • I have passed my iphone to my partner. How does she clear the phone and set up her own itunes account

    I have upgraded my iphone and have given it to my partner. How does she clear the phone and start from scratch with an itunes account. Thank you.

  • Images dragged out of trash have low resolution

    Some Aperture images ended up in system, not Aperture, trash. Found them there and dragged them out only to find they have very low resolution now. Can't find a way to restore their original resolution. The "Masters" seem to have the same low resolut

  • To move from one itab to another

    data:  it_pos    LIKE rfposxext OCCURS 1 WITH HEADER LINE, hi  all.............. LOOP AT it_bseg_t INTO wa_bseg.       it_pos-bwwrt  =    wa_bseg-dmbtr.       it_pos-hkont  =    wa_bseg-hkont.       it_pos-augdt  =    wa_bseg-augdt.    IF it_pos-hkon