Closed Bug 125208 Opened 23 years ago Closed 22 years ago

[Flash scripting on ford.co.uk] Fails to load: "flashnav.SetVariable is not a function"

Categories

(Tech Evangelism Graveyard :: English US, defect)

defect
Not set
normal

Tracking

(Not tracked)

VERIFIED DUPLICATE of bug 110441

People

(Reporter: Mitch, Assigned: arun)

References

()

Details

Attachments

(1 file)

The above URL fails to load with Mozilla but succeeds with Netscape 4.x.

Browser stops with the message 

   Starting Plugin for type application/x-shockwave flash

in the message bar at the bottom of the browser.

Plugin is installed correctly and works on other sites properly.

Javascript console shows the message

   Error: flashnav.SetVariable is not a function

NOTE: Related Mozilla BugID 104355 is not the same problem (in my understanding
of that bug)

*** This bug has been marked as a duplicate of 104355 ***
Status: UNCONFIRMED → RESOLVED
Closed: 23 years ago
Resolution: --- → DUPLICATE
Confirming bug on WinNT debug Mozilla trunk build 2002-02-10. 
The Shockwave Flash plugin never gets loaded. Here is the JS Console
error I see:

Error: flashnav.SetVariable is not a function
Source File: 
http://www.ford.co.uk/firefly/CPR/CPRNav.asp?SessionID={ADDA2E67-D3A7-45E5-9198-
8B4003CE8408}&PageID=&NavID=home&SiteVerID=1&LangID=28

Line: 197

I will attach that HTML file below -
Line 197, where the error occurs is one with |flashnav.SetVariable| below:

function init() {
  if (flashnavloaded) {
    flashnav = isIE ? window.document.flashnav : document.flashnav; 

    // load information for the gts-buttons
    flashnav.SetVariable("languageUrl", 
"/firefly/spg/spg.asp?page=gtstexts&purehtml=true&Firefly=true&SiteVerID=1&LangI
D=28&XSLTemplate=CPRgts");

                       etc.
                       etc.

The problem is this: |isIE| evaluates to false in Mozilla, leading us
to the assignment 
 
                 |flashnav = document.flashnav|


However, the HTML mixes up "flashnav" both as an id and as a name:

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#ve
rsion=5,0,0,0"
                WIDTH=775 
                HEIGHT=63 
                id="flashnav">
                <PARAM NAME=movie VALUE="nav.swf"> 
                <PARAM NAME=loop VALUE=false> 
                <PARAM NAME=quality VALUE=high> 
                <PARAM NAME=menu VALUE=false>
                <PARAM NAME=salign VALUE=LT> 
                <PARAM NAME=bgcolor VALUE=#ffffff>  
         <EMBED name="flashnav"
                src="nav.swf"
                MAYSCRIPT 
                swLiveConnect="true"
                menu=false
                loop=false 
                quality=high 
                salign=LT 
                bgcolor=#ffffff  
                WIDTH=775 
                HEIGHT=63

                TYPE="application/x-shockwave-flash"
                
PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Vers
ion=ShockwaveFlash">
        </EMBED>
</OBJECT>
Reopening bug; I agree with dave@0bits.com that this is a different issue
than Evangelism bug 104355, which has to do with document.layers errors.
Status: RESOLVED → UNCONFIRMED
Resolution: DUPLICATE → ---
What's happening here is that Mozilla is not resolving |flashnav.setVariable|
as a function. I don't know if their HTML is correct or not, in the way they
are trying to access the Shockwave plug-in. 

Reassigning to Plug-ins for a decision. Changing OS from Solaris ---> All
Assignee: rogerl → av
Status: UNCONFIRMED → NEW
Component: JavaScript Engine → Plug-ins
Ever confirmed: true
OS: Solaris → All
QA Contact: pschwartau → shrir
Hardware: Sun → All
Summary: URL http://www.ford.co.uk fails to load with Javascript error → Fails to load: "flashnav.SetVariable is not a function"
The following session from the Mozilla JavaScript Debugger shows that
the variable |flashnavloaded| evaluates to true above, and the variable 
|flashnav| is successfully resolved as the <EMBED> element above:


flashnavloaded
$[boolean] true

flashnav
$[HTMLEmbedElement] [class: HTMLEmbedElement]
typeof flashnav
$[string] "object"


However, the |SetVariable| property is undefined on it:

typeof flashnav.SetVariable
$[string] "undefined"


I don't know; are Shockwave plug-ins supposed to have a |SetVariable|
property, of type function?
Idea: I just noticed this in the <EMBED> element above:

                  swLiveConnect="true"

Is this bug happening because the site is asking Shockwave
to use LiveConnect, when they should be using XPConnect? 
Flash and Shockwave aren't scriptable yet.
Is it the same problem as in 111648 (Calling applet method from JavaScript
doesn't work for <object><embed></embed></object>)?
No, flash is not scriptable yet and there is nothing we can do about it.

--->over to evangelism
Assignee: av → aruner
Component: Plug-ins → Plugins
Product: Browser → Tech Evangelism
QA Contact: shrir → mgalli
Summary: Fails to load: "flashnav.SetVariable is not a function" → [Flash scripting on ford.co.uk] Fails to load: "flashnav.SetVariable is not a function"
Version: other → unspecified
Sorry for being naive, but if Mozilla flash/shockwave isn't currently
scriptable can this not be considered a regression from Netscape 4.x
that this site *does* work with ?

Have we lost some core code that used to work and now doesn't ?

Will this be fixed for Mozilla 1.0 ?

I don't know how this can be considered evangelism since this appears
to be lack of functionality of the Mozilla browser ? How can we ask the
site maintainer to fix something when it is the client browser that is
broken ?

Someone please enlighten me.
I think I have the same problem with the following JavaScript:

===
PRACTICE_EXAM = 64;

/**
 * Set the header names and urls
 */
function init(){
    // Send to movies column names & column URLs
    for (var i=1; i<examName.length; i++){
        window.document["tblHdr"+i].SetVariable("hdrName",examName[i]);
        window.document["tblHdr"+i].SetVariable("hdrUrl",examUrl[i]);
        if (document.GradeBook["ExamType"+i].value == PRACTICE_EXAM) {
            window.document["tblHdr"+i].GotoFrame(3);
        }
    }
}
===

The error message on the JavaScript Console is:

Error: window:document["tblHdr" +i].SetVariable is not a function

The script works with Netscape 4.x and IE and it would be nice to see it working
with Mozilla 1.0 too.
Error: top.menuFrame.document.embeds[0].SetVariable is not a function
Source File: http://www.cosmod.com/1/00.html
Line: 11

var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
   if (InternetExplorer) {
      top.menuFrame.menu.SetVariable("/:base_index", "204")
   } else {
      top.menuFrame.document.embeds[0].SetVariable("/:base_index", "204")
   }

Error: top.menuFrame.document.embeds[0].SetVariable is not a function
Source File: http://www.cosmod.com/1/00.html
Line: 11

The above code works for Internet Explorer and Netscape 4.x, but causes an error
in Mozilla build ID: 2002053012
Another example of this problem straight from Macromedia:

Example of JavaScript-to-Flash communication 
http://www.macromedia.com/support/flash/ts/documents/java_script_comm/javascript_to_flash.html

It works in IE but not in Mozilla.

I discovered this problem on a site which had a flash ad which was unusable
because the address the ad should've forwarded the user to was set through the
.SetVariable function.

"document.banner170.SetVariable("banner_href","http://sj4.lenta.ru/cgi-bin/href/170?728856&login=ntv-inner-234");"
This is really a dup of bug 110441.

This is sort of not a regression from 4.x because 4.x used ancient technology
for allowing plugins to communicate with Javascript. Gecko now uses XPConnect
and plugin authors must do some simple upgrades to their 4.x plugins as
described here:
http://www.mozilla.org/projects/plugins

Macromedia is in the process of doing this. Netscape employees who would like to
help test a version of the Flash player that is Javascriptable, please see the
e-mail from Paul Wyskoczka (paw@netscape) send to cpd-all on where to download.
Using that player, this bug should be able to be verified.

*** This bug has been marked as a duplicate of 110441 ***
Status: NEW → RESOLVED
Closed: 23 years ago22 years ago
Keywords: verifyme
Resolution: --- → DUPLICATE
v
Status: RESOLVED → VERIFIED
SPAM: New Components
Component: Plugins → English US
Keywords: verifyme
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: